Apache Geode Native C++ CHANGELOG

System Properties

A variety of system properties can be specified when a client connects to a distributed system, either programmatically or in a geode.properties file. See apache::geode::client::SystemProperties in the C++ API docs.

The following settings can be configured:

The following tables list attributes that can be specified programmatically or stored in the geode.properties file to be read by a client.

General Properties

Attribute Description Default
cache-xml-file Name and path of the file whose contents are used by default to configure a cache if one is created. If not specified, the client starts with an empty cache, which is populated at run time. no default
heap-lru-delta The percentage of entries the system will evict each time it detects that it has exceeded the heap-lru-limit. This property is used only if heap-lru-limit is greater than 0. 10 %
heap-lru-limit Maximum amount of memory, in megabytes, used by the cache for all regions. If this limit is exceeded by heap-lru-delta percent, LRU reduces the memory footprint as necessary. If not specified, or set to 0, memory usage is governed by each region’s LRU entries limit, if any. 0
conflate-events Client side conflation setting, which is sent to the server. server
connect-timeout Amount of time (in seconds) to wait for a response after a socket connection attempt. 59
connection-pool-size Number of connections per endpoint 5
enable-chunk-handler-thread If the chunk-handler-thread is operative (enable-chunk-handler=true), it processes the response for each application thread. When the chunk handler is not operative (enable-chunk-handler=false), each application thread processes its own response. false
disable-shuffling-of-endpoints If true, prevents server endpoints that are configured in pools from being shuffled before use. false
max-fe-threads Thread pool size for parallel function execution. An example of this is the GetAll operations. 2 * number of logical processors
max-socket-buffer-size Maximum size of the socket buffers, in bytes, that the client will try to set for client-server connections. 65 * 1024
notify-ack-interval Interval, in seconds, in which client sends acknowledgments for subscription notifications. 1
notify-dupcheck-life Amount of time, in seconds, the client tracks subscription notifications before dropping the duplicates. 300
ping-interval Interval, in seconds, between communication attempts with the server to show the client is alive. Pings are only sent when the ping-interval elapses between normal client messages. This must be set lower than the server’s maximum-time-between-pings. 10
redundancy-monitor-interval Interval, in seconds, at which the subscription HA maintenance thread checks for the configured redundancy of subscription servers. 10
tombstone-timeout Time in milliseconds used to timeout tombstone entries when region consistency checking is enabled. 480000

Logging Properties

Attribute Description Default
log-disk-space-limit Maximum amount of disk space, in megabytes, allowed for all log files, current, and rolled. If set to 0, the space is unlimited. 0
log-file Name and full path of the file where a running client writes log messages. If not specified, logging goes to stdout. no default file
log-file-size-limit Maximum size, in megabytes, of a single log file. Once this limit is exceeded, a new log file is created and the current log file becomes inactive. If set to 0, the file size is unlimited. 0
log-level Controls the types of messages that are written to the application’s log. These are the levels, in descending order of severity and the types of message they provide:
  • Error (highest severity) is a serious failure that will probably prevent program execution.
  • Warning is a potential problem in the system.
  • Info is an informational message of interest to the end user and system administrator.
  • Config is a static configuration message, often used to debug problems with particular configurations.
  • Fine, Finer, Finest, and Debug provide tracing information. Only use these with guidance from technical support.

Enabling logging at any level enables logging for all higher levels.

config

Statistics Archiving Properties

Attribute Description Default
statistic-sampling-enabled Controls whether the process creates a statistic archive file. false
statistic-archive-file Name and full path of the file where a running system member writes archives statistics. If archive-disk-space-limit is not set, the client appends the process ID to the configured file name, like statArchive-PID.gfs. If the space limit is set, the process ID is not appended but each rolled file name is renamed to statArchive-ID.gfs, where ID is the rolled number of the file. ./statArchive.gfs
archive-disk-space-limit Maximum amount of disk space, in gigabytes, allowed for all archive files, current, and rolled. If set to 0, the space is unlimited. 0
archive-file-size-limit Maximum size, in megabytes, of a single statistic archive file. Once this limit is exceeded, a new statistic archive file is created and the current archive file becomes inactive. If set to 0, the file size is unlimited. 0
statistic-sample-rate Rate, in seconds, that statistics are sampled. Operating system statistics are updated only when a sample is taken. If statistic archival is enabled, then these samples are written to the archive.

Lowering the sample rate for statistics reduces system resource use while still providing some statistics for system tuning and failure analysis.

1
enable-time-statistics Enables time-based statistics for the distributed system and caching. For performance reasons, time-based statistics are disabled by default./td> false

Durable Client Properties

Attribute Description Default
auto-ready-for-events Whether client subscriptions automatically receive events when declaratively configured via XML. If set to false, event startup is not automatic and you need to call the Cache.ReadyForEvents() method API after subscriptions for the server to start delivering events. true
durable-client-id Identifier to specify if you want the client to be durable. empty
durable-timeout Time, in seconds, a durable client’s subscription is maintained when it is not connected to the server before being dropped. 300

Security Properties

The table describes the security-related system properties for native client authentication and authorization.

See SSL Client/Server Communication.

System Properties for Client Authentication and Authorization
Attribute Description Default
security-client-kspath Path to a .PEM file, which contains the public certificates for all Geode cache servers to which the client can connect through specified endpoints. null
ssl-enabled True if SSL connection support is enabled. empty
ssl-keystore Name of the .PEM keystore file, containing the client’s private key. Not set by default. Required if ssl-enabled is true.
ssl-keystore-password Sets the password for the private key .PEM file for SSL. null
ssl-truststore

Name of the .PEM truststore file, containing the servers’ public certificate. Not set by default. Required if ssl-enabled is true.

High Availability Properties

Attribute Description Default
notify-ack-interval Minimum period, in seconds, between two consecutive acknowledgment messages sent from the client to the server. 10
notify-dupcheck-life Minimum time, in seconds, a client continues to track a notification source for duplicates when no new notifications arrive before expiring it. 300