CDD Agent Classes Tab Properties Reference

Properties are available for inference agents, cache agents, and query agents.

CDD Agent Classes Tab Inference Agent and Query Agent Properties
Setting Notes
Inference Agent and Query Agent Properties
com.tibco.cep.runtime.channel.payload.validation
  XML event payloads are validated when this property is set to true. There may be some loss of performance due to the extra processing.

Default is false.

Inference Agent Properties
Agent.AgentClassName.recoveryPageSize
  Specifies the number of entries per page to be used while recovering objects from the cache.

For example, if you set the value to 10,000, then the engine loads handles in blocks of 10,000, instead of trying to load them in a single batch. Smaller batch sizes result in slower recovery. Experiment with batch size to establish the best batch size to use for your environment.

A value of 0 means that the objects are recovered in one iteration.

Default is 0.

Agent.AgentClassName.cacheTxn.updateCache
  Used only if cache-aside database write strategy is used.

If set to false: When a rule action changes the value of an entity’s properties, then the entity instance is evicted from the cache instead of updating it. Updates are saved in the backing store. Use this setting and Agent.AgentClassName.threadcount as needed to improve performance and cache memory management.

This property interacts with the Cluster > Domain Objects setting, Evict From Cache on Update (and its override settings if any):

  • When this CDD property is set to true, the domain objects Evict From Cache on Update setting is ignored, in the agent for which the property is set.
  • When this CDD property is set to false, the domain objects Evict From Cache on Update setting overrides this CDD property.

    See CDD Cluster Tab Domain Objects Default Settings Reference for details on the Evict From Cache on Update setting.

    Possible values are true and false.

    Default is true.

Agent.AgentClassName.threadcount
  For use with cache aside and only when parallel operations feature is used (see Agent.agentClassName.enableParallelOps).

Defines the number of $CacheWriter threads performing cache writing jobs.

See Threading Models and Tuning in TIBCO BusinessEvents Architect’s Guide for usage guidelines.

Tip
 This property is also used to define the number of Recovery threads (used for recovering Cache Plus Memory entity handles at inference engine startup).

Default value is 2.

Agent.AgentClassName.checkDuplicates
  Affects how TIBCO BusinessEvents checks uniqueness of entity external IDs (@extId).

If set to false, checks for uniqueness of external IDs within the agent

If set to true, checks for uniqueness of external IDs across the cluster. Performing this check affects performance so use it with care.

Default is false.

Inference Agent Database Writer Thread Tuning Properties
Note
 For use with cache aside and only when the parallel operations feature is used.

For a guide to usage, see the section Database Write Tuning Options for Cache Aside in Threading Models and Tuning, TIBCO BusinessEvents Architect’s Guide.

Agent.agentClassName.enableParallelOps
 
If true, parallel operations are used
 Post-RTC phase operations are done in parallel:
  • Writes to the cache
  • Writes to the database (relevant only cache aside strategy is used)
  • Executes the actions list, for example, sends messages (events) and acknowledges events, as needed.

    Use of parallel operations generally requires use of locking to ensure data integrity.

If false, sequential operations are used
 All post-RTC phase operations are done on a single thread in the order shown above.

This property is set to false for specific needs such as when Caller’s Thread threading option is used.

Another reason to set the value to false is to ensure that the system waits to send a reply event confirming that some work has been done, until the result of the work can be seen in the cache.

Defaults to true only if cache-aside write strategy and concurrent RTC are both used. Otherwise defaults to false.

Agent.AgentClassName.dbthreadcount
  Defines the number of database write threads available to process the RTC transactions from the queue, that is, the number of threads performing database writing jobs ($DBWriter thread pool). Writes include applying entity inserts, updates, and deletes to the database.

Although the limit is seldom reached, you can guarantee that a connection is always available for a dbwriter thread as follows. Set this field to the same value as CDD Cluster tab > Backing Store > Connection > Max Size field .

Default is 2.

Agent.AgentClassName.dbOpsQueueSize
  The size of the queue (a Java blocking queue) for database writing jobs.

Zero (0) or a negative value means the queue size is unlimited.

Note
 When the queue is full, all engine operations are blocked.

Default is 8.

Agent.AgentClassName.dbOpsBatchSize
  Used in the post-RTC phase. Sets the maximum number of RTC transactions that a database writer thread takes from the database operations queue and processes in one batch.

Database write threads process the RTC transactions from the queue. The number of threads is defined by dbthreadcount.

A database write thread takes up to the dbOpsBatchSize number of RTC transactions, processes them and commits them to the database. (When database write threads are idle, they take available jobs from the database operations queue, even if there are less jobs than dbOpsBatchSize.)

Default is 10.

Query Agent Properties
be.agent.query.localcache.prefetchaggressive
  If set to true, then objects required for a query are prefetched while the query is executing.

The prefetch feature improves performance, but CPU and memory usage increases as a result of the aggressive prefetching. You may have to try different values till you find the optimal settings for your environment.

Ensure that the cache size is large enough to accommodate objects that are prefetched.

Default is false.

be.agent.query.enable.filter.optimizer
  Used only with Oracle Coherence as the cache provider.

If set to true, the query agent attempts to use indexing that is enabled and defined.

If set to false, indexes are ignored by this agent.

See also Present in Index, in CDD Cluster Tab Domain Objects Default Settings Reference .

Default is false.

Cache Agent Properties
be.engine.cacheServer.channel.disable
  By default cache agents connect to channels. In most cases, however, cache agents do not need to connect to channels. To prevent cache agents from connecting to channels, set this property to true.

The default value is false.

be.engine.cluster.scheduler
A single agent of the cluster acts as a scheduler. By default all agents of a cluster can act as a scheduler. To avoid that a Cache Agent acts as a scheduler add the property and set it to false for the Cache Agent classes.

The default value is true