Managing data returned from a data provider

By default, Decision Server Insights stores all of the enriched data that is returned by a data provider in an in-memory cache. To prevent the system from using too much memory, you can set the maximum size of the cache. Once the maximum size is reached, a least recently used (LRU) algorithm removes entries to maintain the cache size.

About this task

The least recently used (LRU) evictor is triggered when the cache reaches a specified size. To maintain the size of the cache, the LRU evictor identifies the entries in the map that are least recently used and evicts them. The size of the cache is controlled by the dataProviderCacheSize property. For more information, see System properties. The default value is 10000 entries per node (JVM).

Important: Performance of the runtime environment might be impacted when eviction is frequent and the amount of data that is evicted is large. Nevertheless, systems that have a limited amount of memory can benefit from data eviction.

Procedure

  1. Consider increasing your data provider cache size if one or both of the following statements are true:
    • Your responseCacheTimeout is long compared to how frequently you expect to query each individual key
    • Your data provider calls are expensive in time, computation, or both.
  2. Consider decreasing your data provider cache size if you have memory constraints.
  3. Increase or decrease your data provider cache size by modifying the dataProviderCacheSize value in the server.xml file or by using the propertyManager script.