CDD Cluster Tab DataGrid Properties Reference

DataGrid properties can be configured using the CDD Cluster Tab. Refer to the following table for a list of properties that you can use to retrieve data from the DataGrid.

Note: Discovery and listen URL interfaces must match. Ensure that a node’s interface (IP address) is specified using the same value in the discover URL and in the listen URL. If there are multiple interfaces on one machine specify the IP explicitly in both properties.
CDD Cluster Tab
Property Notes
be.engine.cluster.as.aggregate.prefetch.size
When queries are executed against DataGrid via the aggregate query functions (found under Query.Datagrid.Aggregate), you can define the number of entries to prefetch for optimum performance.

Although TIBCO BusinessEvents has a default value that provides best performance for general use cases, you can adjust the value to meet your specific use case needs.

Valid values are any positive long numbers or -1 (-1 = prefetch all).

Default value is -1.

be.engine.cluster.as.browser.prefetch.size
When queries are executed against DataGrid via any 'select' type of queries, you can define the number of entries to prefetch for optimum performance.

Although TIBCO BusinessEvents has a default value that provides best performance for general use cases, you can adjust the value to meet your specific use case needs.

Valid values are any positive long number or -1 (-1 = prefetch all).

Default value is -1.

be.engine.cluster.as.connection.retry.count
You can specify the number of attempts allowed for the metaspace connection when the discovery node is not available.

The default value is 5.

be.engine.cluster.as.lookup.prefetch.size
When queries are run against DataGrid by using getByExtByUri() or by loadByExtIdByUri() functions (which return either 1 or no results), you can define the number of entries to prefetch for optimum performance.

Although TIBCO BusinessEvents has a default value that provides best performance for most use cases, you can adjust the value to meet your specific needs.

The default value is 0(zero), which indicates that prefetche is disabled.

be.engine.cluster.as.member.timeout
The timeout parameter specifies how many milliseconds DataGrid will wait for a member to reconnect, if it loses connection to the metaspace. The default value is 30000 milliseconds.
be.engine.channel.as.querylimit
You can control the query limit for an ActiveSpaces channel using the querylimit property. You can set this property in CDD so that the channel can receive entries beyond 10000 (default in TIBCO ActiveSpaces).

The default value in TIBCO BusinessEvents is -1, which indicates no limit on queries.

be.engine.cluster.as.suspend.threshold
The threshold parameter specifies the number of host connections that can be lost before the cluster moves into a suspended state. When the cluster is suspended, members cannot leave or join the cluster. If connectivity is lost for a seeder member of a space, doing a read or write for the space might cause a protocol timeout. The default value is -1, which indicates that the cluster is never suspended.
be.engine.cluster.as.file.sync.interval
The amount of time (in milliseconds) to wait between persists to the data store when asynchronous shared-nothing persistence is used. The set value can be viewed as the File Sync Interval property value in as-admin.

The default value is 10000 milliseconds.

be.engine.cluster.as.discover.url
  The discover URL specifies how an engine (node) listens for discovery requests from nodes attempting to join the cluster. PGM protocol is supported for multicast discovery. TCP protocol is supported for unicast (well-known address) discovery. Configuration is different for multicast and unicast discovery. See DataGrid Discover URL for details.

The default value for multicast equates to: tibpgm://7888/;239.8.8.9/

be.engine.cluster.as.hostaware.enable
  By default, this property is true (or enabled).
  • If true, the ActiveSpaces member name will be set as: hostname.be-engine-name 
where be-engine name is what is given on the -n command line option.

    When host-aware replication is enabled, if the cache nodes are not deployed on multiple machines to satisfy replication by the host, then replication will not happen (or will happen only according to the number of hosts available).

    For example, if Number of Backup Copies is set to "1" and all cache nodes are deployed on a single host, then replication will be disabled (regardless of the number of cache nodes on that single host). If Number of Backup Copies is set to "2", and cache nodes are deployed only on 2 hosts, then only "1" backup copies will be maintained.

  • If the property is false, host-aware replication will be disabled and the ActiveSpaces member name will be set as be-engine-name.

    Disabling host-aware replication will honor Number of Backup Copies, provided that there are enough cache nodes deployed in the cluster.

be.engine.cluster.as.hostaware.hostname
Hostnames that are used in identifying members (and therefore naming Shared nothing file/folders), are generated from underlying OS. If you would like to assign hostnames manually instead, for reasons such as hostname/machine changes, testing so on, then provide hostnames in the CDD at each PU level using be.engine.cluster.as.hostaware.hostname property.
be.engine.cluster.as.listen.url
  The listen URL is used for direct communication between the members of the metaspace after the discovery process. The listen URL uses this format:
tcp://interface:port/
You can also use an auto-incrementing feature by specifying a range as follows:
tcp://interface:Port-[toPort  | * ]/

The default value for interface is the first available interface provided by the operating system for the machine. See DataGrid Listen URL for details.

The default value for port is the first available port in the 50000+ range.

be.engine.cluster.as.remote.listen.url
Specifies on which IP address and TCP port this proxy metaspace member is listening for the remote client connections. The remote listen URL uses the following format:
be.engine.cluster.as.remote.listen.url=tcp://interface:port
be.engine.cluster.as.remote.member.timeout
Specifies the timeout for remote clients. This is the duration for which the cluster waits for a remote member to reconnect after it got disconnected. If the remote member does not reconnect within this duration, the remote member is considered as disconnected from the cluster.

The default value is 120000, that is, 2 minutes.

be.engine.cluster.as.minSeeders
TIBCO BusinessEvents sets the value of minimum seeders for user defined spaces to the same value as the quorum size, by default. To override the default value of minimum seeders, you can specify the new value using this property.
be.engine.cluster.as.node.retry.times
Specifies the number of times TIBCO BusinessEvents retries a put or putAll call on the TIBCO BusinessEvents DataGrid cache. Each retry is done after 5 seconds. The number of retires depends on the Lock Timeout property. To calculate the value for retry times, use the following formula:

retry.times=lock.ttl/5+1

For example, if you set Lock Timeout to 30000, then it is recommended that you set the be.engine.cluster.as.node.retry.times value to 7.

be.engine.cluster.as.shutdown.wait.millis
Specifies time (in milliseconds) to wait for the thread that uses ActiveSpaces to complete before shutdown.
be.engine.cluster.minCacheServers.strict
When this property is set to true and if the number of Cache nodes drops below Quorum, then the cluster is placed into suspend mode.
Note: When the system is actively processing messages, it may take a while for it to reach the suspended state as the Inference agents attempt to commit current transactions and empty the internal queues before suspending the operations.
Default value is false.
be.engine.cluster.minCacheServers.strict.selfRepair
When this property is set to true, the system tries to resume operations if and only when the Quorum is reached again. If this property is set to false once the operations are suspended, then the system will stay in that mode until you manually intervene. Default value is false.
Note: This property only applies if be.engine.cluster.minCacheServers.strict=true.
be.engine.cluster.quorumCheck.setLenient
Using this property, you can change the quorum state behavior. The values are:
  • true - For the initial startup, a minimum number of cache nodes are required as specified in the quorum count. The quorum state of the cluster is maintained after a quorum is established until the number of cache nodes drop below the minimum number of seeders as specified in the be.engine.cluster.as.minSeeders. During this period, new cache nodes can join the cluster and function like the quorum is never lost. The new Inference engine can be started as long as the number of cache nodes is not below the minimum number of seeders.
  • false - For the initial startup, a minimum number of cache nodes are required as specified in the quorum count. After a quorum is established, the system keeps running till the number of cache nodes drop below the minimum number of seeders as specified in the be.engine.cluster.as.minSeeders. Now the new inference agents cannot be started until the number of cache nodes reaches the quorum count.

The default value is false for inference engines, and true for cache engines.

This property can be used at the agent level as well.

be.engine.cluster.cacheNaming.isDescriptive
Specifies whether descriptive information (such as dist/repl, unlimited/limited, nobs/bs, and so on) is included in the shared nothing cache names. The values are:
  • true - names are descriptive. For example, C:\temp\sharednothing\TestBQL\dist-unlimited-bs-TestBQL--be_gen_Concepts_Agreement\CSU1\CSU1_store_1440456000.
  • false - names are not descriptive. For example, C:\temp\sharednothing\TestBQL\TestBQL--be_gen_Concepts_Agreement\CSU1\CSU1_store_1440456000.
The default value is true.
be.engine.cluster.as.security.mode.role
  Security role of a node for the secure DataGrid. Possible values are: Controller or Requestor.

The Controller is dedicated to enforcing security behavior for a cluster associated with the security domain. Security Controllers are the only discovery nodes in a cluster.

The Requestor requires access to the data in the DataGrid, which needs to be authorized by the Controller. A Requestor can never be used as a discovery node.

be.engine.cluster.as.security.file
  Path to the policy (for controller) or token file (for requestor), which contains the security settings, based on role defined in the be.engine.cluster.as.security.mode.role property.
be.engine.cluster.as.security.file.identity.password
  The password for the identity key in the security policy file or token file specified in be.engine.cluster.as.security.file.
be.engine.cluster.as.security.requester.identity.keyfile
  The absolute path for a file containing the key to use for LDAP with the certificate based authentication.
be.engine.cluster.as.security.domain
  Optional. Domain name for system based user authentication.
be.engine.cluster.as.security.username
  User name for LDAP and system based authentication.
be.engine.cluster.as.security.password
  Password for LDAP and system based authentication. In case authentication type in the policy file is "x509" then this is the password is for the private key in the LDAP identity file specified in be.engine.cluster.as.security.requester.identity.keyfile.
be.mm.cluster.as.listen.url
  If you use well-known-address discovery and TIBCO BusinessEvents Monitoring and Management (MM), you must also add this property at the cluster level of the to-be-monitored project’s CDD file.

Specify the value as the IP of the computer hosting the MM server and an unused port.

See Cluster Discovery and Internal Communication for the procedure, including an additional step you must take.

be.engine.cluster.as.remote.tuple.limit
This property controls the number of entries or records sent from seeder to client. When volume of data in cache gets very high then querying the spaces results into blocking threads, in such case, you can add this property to send only limited records from seeders to the client. This is generic property which can be applied to all agents including the remote client. The valid values are any positive long numbers and -1.

The default value is -1 which indicates no limit on entries or records.

be.engine.cluster.event.expiry.lock
Set this property to true to enable cluster-level locking on event extID for the event expiry thread.

The default value is false.