Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NOTE: The Oracle Change Notification Subscription is suitable for tables which do not have a lot of updates. This is a recommendation from Oracle. We have not validated the subscriptions on tables with large amounts of updates.
NOTE: There is an issue with the update of the cache in delta mode for File Cache. It should not be used before a fix is provided. File cache applies to datasets having both the properties

"cache_provider": "cache-manager-file" and "cache_mode": "full".

...


To define a database poll cache policy, use a resource definition with changeNotificationType set to "poll", for example:


{
"_id": "smf",
"datasets": ["genericsmf"],
"resources": [
{
"resource": "eagledb:SECURITY.SECURITY_MASTER",
"changeNotificationType": "poll",
"parameters": {
"field": "UPDATE_DATE",
"pollIntervalSeconds": 10
}
}
],
"cacheUpdate": {
"checkIntervalSeconds": 10,
"noUpdateActivitySeconds": 5
}
}


The resource to be monitored should be specified in the "resource" parameter. The schema for the table should be the logical schema name. For example REFERENCE should be used instead of PACE_MASTERDBO.
The following parameters specific to the resource should be specified:

...


When polling very big tables with no indexes on update date we can specify additional parameters to limit the amount of data we poll. Usually these parameters will map to table columns which have an index.


{
"_id": "ratings",
"datasets": ["ratings"],
"resources": [
{
"resource": "eagledb:SECURITY.RATINGS",
"changeNotificationType": "poll",
"parameters": {
"field": "UPDATE_DATE",
"pollIntervalSeconds": 10
},
"filter_definitions": {
"fromeffectivedate": {
"parameters": [
{
"name": "fromeffectivedate"
}
],
"bindings": [
{
"sourceProvider": "eagledb://oracle",
"filter": "MASTERTABLE.EFFECTIVE_DATE >= :fromeffectivedate"
}
]
}
},
"filter_values": {
"fromeffectivedaterule": "Today"
}
}
],
"cacheUpdate": {
"checkIntervalSeconds": 10,
"noUpdateActivitySeconds": 5,
"filter_values": {
"fromeffectivedaterule": "Today"
}
}
}


Common (predefined) filters can also be used in the resource definition:

{
"_id": "ratings",
"datasets": ["ratings"],
"resources": [
{
"resource": "eagledb:SECURITY.RATINGS",
"changeNotificationType": "poll",
"parameters": {
"field": "UPDATE_DATE",
"pollIntervalSeconds": 10
},
"filter_definitions": {
"common_filters": ["fromeffectivedate"]
},
"filter_values": {
"fromeffectivedaterule": "Today"
}
}
],
"cacheUpdate": {
"checkIntervalSeconds": 10,
"noUpdateActivitySeconds": 5,
"filter_values": {
"fromeffectivedaterule": "Today"
}
}
}

Defining a Subscription Based Cache Policy


To define a Subscription Based cache policy, use a resource definition with changeNotificationType set to "subscribe", for example:


{
"_id": "interfaces",
"datasets": ["interfaces"],
"resources": [
{
"resource": "eagledb:REFERENCE.INTERFACES",
"changeNotificationType": "subscribe"
}
],
"cacheUpdate": {
"checkIntervalSeconds": 10,
"noUpdateActivitySeconds": 5
}
}


The database user needs to have change notification privilege granted to user estar for the subscription method:
GRANT CHANGE NOTIFICATION TO estar
Currently there are no additional parameters for the resource. The cacheUpdate parameters are similar to the parameters specified in the poll.

Cache Manager State Variables

...