System Properties in the gemfire.properties File
This table lists the gemfire.properties settings used to join a distributed system. Distributed system members include applications, the cacheserver, and other GemFire processes.
Configuration Properties in gemfire.properties
gemfire.properties Attribute
ack-severe-alert-threshold
Sends a severe warning alert to members in the distributed system, indicating that the member may be disconnected from the distributed system if they do not respond quickly enough. This time period begins after the ack-wait-threshold has elapsed.
The number of seconds a distributed message can wait for acknowledgment before it sends an alert to signal that something might be wrong with the system member that is unresponsive.
After sending this alert the waiter continues to wait. The alerts are logged in the system member’s log as warnings.
Legal values are in the range 0..2147483647.
archive-disk-space-limit
The maximum size (in megabytes) of all inactive statistic archive files combined. If this limit is exceeded, inactive archive files are deleted, oldest first, until the total size is within the limit. If set to zero, disk space usage is unlimited.
For details about statistics archiving, see Controlling the Size of Archive Files.
archive-file-size-limit
The 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 zero, file size is unlimited.
For details about statistics archiving, see Controlling the Size of Archive Files.
async-distribution-timeout
The number of milliseconds a process that is publishing to this process should attempt to distribute a cache operation before switching over to asynchronous messaging for this process. To enable asynchronous messaging, the value must be set above zero. If a thread that is publishing to the cache exceeds this value when attempting to distribute to this process, it will switch to asynchronous messaging until this process catches up, departs, or some specified limit is reached, such as async‑queue‑timeout or async‑max‑queue‑size.
Valid values are in the range 0..60000.
This setting controls only peer-to-peer communication and does not apply to client/server or multi-site communication.
Limit on the size of asynchronous queues used by processes that are publishing to this process; see async-distribution-timeout. The maximum size in megabytes the queue can reach before the publisher asks this process to leave the distributed system. Only non-conflated queuing is affected by this value (see enable-async-conflation in the GemFire Enterprise Developer’s Guide).
Valid values are in the range 0..1024.
This setting controls only peer-to-peer communication and does not apply to client/server or multi-site communication.
Limit on asynchronous queues used by processes that are publishing to this process; see async-distribution-timeout. The maximum milliseconds the publisher should wait with no distribution to this process before it asks this process to leave the distributed system. If a queuing publisher has not been able to send this process any cache operations prior to the timeout, it sends the depart request and this process attempts to close its cache and disconnect from the distributed system. For details see Slow Receivers with TCP/IP.
This setting controls only peer-to-peer communication and does not apply to client/server or multi-site communication.
Specifies the network adapter card the cache binds to for peer-to-peer communication. Also specifies the default location for GemFire servers to listen on, used unless overridden by the server-bind-address.
This is a machine-wide attribute used for system member and client/server communication. It has no effect on locator location, unless the locator is embedded in a member process.
This is only relevant for multi-homed hosts—machines with multiple network cards. Specify the IP address, not the hostname, because each network card may not have a unique hostname. An empty string (the default) causes the member to listen on the default card for the machine.
For more information on multi-homed hosts and bind addresses, see Selecting a Network Adapter Through a Bind Address.
The default file to use to initialize a GemFire cache. For details, see Configuring the Cache in the GemFire Enterprise Developer’s Guide.
Client/server configuration setting. This is a client-side property that is passed to the server. Allowable values are server, true, and false. With the server setting, this client’s servers use their own client queue conflation settings. With a true setting, the servers disregard their own configuration and enable conflation of events for all regions for the client. A false setting causes the client’s servers to disable conflation for all regions for the client.
Specifies whether sockets are shared by the system member’s threads. If set to true, threads share, and a minimum number of sockets are used to connect to the distributed system. If false, every application thread has its own sockets for distribution purposes.
Where possible, it is better to set conserve-sockets to true and enable the use of specific extra sockets in the application code if needed. For details on the API, see Controlling Socket Use in the GemFire Enterprise Developer’s Guide.
departure-correlation-window
The number of seconds of process failure history kept by the system for correlating the loss of processes eligible to be the membership coordinator and the lead member. For more information, see New Membership and Loss of Members.
Disables the use of TCP/IP sockets for inter-cache communications, forcing the cache to use datagram (UDP) sockets for point-to-point messaging.
Valid values: true or false. For more information, see Peer-to-Peer Messaging and Distribution.
The ID used by a client to indicate that it is durable. When a durable client connects to a server, this ID is used by the server to identify it. For details, see Durable Subscription Queues in the GemFire Enterprise Developer’s Guide.
durable-client-timeout
The number of seconds this disconnected durable client is kept alive and updates are accumulated for it by the server before it is terminated. For details, see Durable Subscription Queues in the GemFire Enterprise Developer’s Guide.
enable-network-partition-detection
If true, instructs the system to detect and handle splits in the distributed system, typically caused by a partitioning of the network where the distributed system is running. For information, see Handling Network Outages.
enable-time-statistics
Enables time-based statistics for the distributed system and caching. For performance reasons, time-based statistics are disabled by default. For more information, see System Statistics.
The name of the license file that contains the license for the distributed system member.
The type of license used by this distributed system member: evaluation, development, or production. All members of a distributed system must have the same type of license.
The list of locators used by system members to communicate with running locators. The list must include all locators currently in use, and must be configured consistently for every member of the distributed system. If the list is empty, locators are not used.
Each element of the list must be a host name followed by a port number enclosed in brackets. Multiple elements must be separated by commas, and white space is not permitted in the list. For example:
host1[port1],host2[port2],...Processes connecting to a locator started with a bind address need to provide the bind address specification in their locators property. You can use host-name@bind-address or just bind-address:
locators=bind-address1[port1],bind-address2[port2]locators=host-name1@bind-address1[port1],host-name2@bind-address2[port2]For more on the bind address, see Selecting a Network Adapter Through a Bind Address.
For details about using locators and multicast ports, see Member Discovery.
The maximum size in megabytes of all inactive log files combined. This value is compared to the total size of all inactive logs in the same directory as the main log and with the same base name as the main log. If this limit is exceeded, inactive log files are deleted, oldest first, until the total size is within the limit. If set to zero, disk space usage is unlimited.
The file to which a running system member writes log messages. For details about logging, see GemFire System Logging.
null (standard output) for
applications, locator.log for the locator and cacheserver.log for the cacheserverThe maximum size in megabytes to which a log file can grow before it is closed and logging rolls on to a new (child) log file. If set to 0 (the default), log rolling is disabled.
The level of detail of the messages written to the system member’s log. Valid values are fine, config, info, warning, error, severe, and none.
Setting log-level to one of the ordered levels causes all messages of that level and greater severity to be printed.
Lowering the log-level reduces system resource consumption while still providing some logging information for failure analysis.
max-num-reconnect-tries
The maximum number or times to attempt to reconnect to the distributed system when membership roles are missing. The roles are based on how a member relates to other members, or what purpose a member fills in a distributed system. These optional roles specify the circumstances where an application or cache server continues operation after incidents such as network failures.
max-wait-time-reconnect
The maximum number of milliseconds to wait for the distributed system to reconnect in case one of the membership roles is lost. The system attempts to reconnect max-num-reconnect-tries, and this timeout period applies to each reconnection attempt.
The multicast address used to discover other members of the distributed system. Only used if mcast-port is non-zero.
Select different multicast addresses and ports for different distributed systems. Do not just use different addresses.
This default multicast address was assigned by IANA (http://www.iana.org/assignments/multicast-addresses). Consult the IANA chart when selecting another multicast address to use with GemFire.
This attribute must be consistent across the distributed system. For details about using locators and multicast ports, see Member Discovery.
This setting controls only peer-to-peer communication and does not apply to client/server or multi-site communication. If multicast is enabled, distributed regions use it for most communication. Partitioned regions only use multicast for a few purposes, and mainly use either TCP or UDP unicast.
A tuning property for the flow-of-control protocol for all no-ack UDP messaging, unicast and multicast. These three settings are separated by commas: byteAllowance, rechargeThreshold, and rechargeBlockMs.
For more information, see Tuning UDP Communication.
Valid values range from these minimums: 10000,0.1,500 to these maximums: no_maximum,0.5,60000].
This setting controls only peer-to-peer communication, generally between distributed regions.
1048576,0.25, 5000
The multicast port used to communicate with other members of the distributed system. If zero, multicast is disabled for both member discovery and distribution. Valid values are in the range 0..65535.
Select different multicast addresses and ports for different distributed systems. Do not just use different addresses.
This attribute must be consistent across the distributed system. For details about using locators and multicast ports, see Member Discovery.
This setting controls only peer-to-peer communication, generally between distributed regions. See the note in mcast-address.
The size of the socket buffer used for incoming multicast transmissions. You should set this high if there will be high volumes of messages.
The default setting of 1048576 is higher than the default OS maximum buffer size on Unix, which should be increased to at least 1 megabyte to provide high-volume messaging on Unix systems. For information on how to increase the receive buffer size for Unix systems, see Configuring Multicast Speed Limits.
Valid values are in the range 2048..OS_maximum.
This setting controls only peer-to-peer communication, generally between distributed regions. See the note in mcast-address.
The size of the socket buffer used for outgoing multicast transmissions.
Valid values are in the range 2048..OS_maximum.
This setting controls only peer-to-peer communication, generally between distributed regions. See the note in mcast-address.
How far multicast messaging goes in your network. System performance might be improved by reducing how far your multicast messaging goes in your network. A setting of 0 constrains multicast messaging to the machine.
This setting controls only peer-to-peer communication, generally between distributed regions. See the note in mcast-address.
The timeout interval, in milliseconds, used to determine whether another system member is alive. When another member appears to be gone, GemFire tries to contact it twice before quitting. This property sets the timeout interval between each of these attempts.
Valid values are in the range 1000..600000.
remove-unresponsive-client
When this property is set to true, the primary server drops unresponsive clients from all secondaries and on itself. A client with HARegion queue capacity full is treated as unresponsive client. Set this property to true to avoid blocking puts on the server when maximum capacity client’s HARegion queue is reached.
A comma-delimited list of strings specifying the membership roles that a member performs in the distributed system. These optional roles specify the circumstances under which an application or cache server continues operation after incidents such as network failures. Any number of members can be configured to perform the same role, and a member can be configured to perform any number of roles. For related configuration options, see max-num-reconnect-tries and max-wait-time-reconnect. For details on member relationships, see Managing Member Relationships in the GemFire Enterprise Developer’s Guide.
Any custom properties needed by the AuthInitialize or Authenticator callbacks.
security-client-accessor
Static creation method returning an AccessControl object, which determines authorization of client-server cache operations. It specifies the callback that should be invoked in the pre-operation phase, which is when the request for the operation is received from the client.
security-client-accessor-pp
Specifies the callback that should be invoked in the post-operation phase, which is when the operation has completed on the server but before the result is sent to the client. The post-operation callback is also invoked for the updates that are sent from server to client through the notification channel.
Static creation method returning an AuthInitialize object, which obtains credentials for peers in a distributed system. The obtained credentials should be acceptable to the Authenticator specified through the security-peer-authenticator property on the peers.
security-client-authenticator
Static creation method returning an Authenticator object, which is used by a peer to verify the credentials of the connecting peer.
security-client-dhalgo
For secure transmission of sensitive credentials like passwords, you can encrypt the credentials using the Diffie-Hellman key exchange algorithm. You do this by setting the security-client-dhalgo system property on the clients to the name of a valid symmetric key cipher supported by the JDK.
Sets the name of the log file for security log messages. If this property is not specified, the log file specified in the log-file property is used for security logging.
Specifies the logging level detail for the security log messages. The default log level is config.
Static creation method returning an AuthInitialize object, which obtains credentials for peers in a distributed system. The obtained credentials should be acceptable to the Authenticator specified through the security-peer-authenticator property on the peers.
security-peer-authenticator
Static creation method returning an Authenticator object, which is used by a peer to verify the credentials of the connecting peer.
security-peer-verifymember-timeout
The timeout value (in milliseconds) used by a peer to verify membership of an unknown authenticated peer requesting a secure connection.
The network adapter card a GemFire server binds to for client/server communication. You can use this to separate the server’s client/server communication from its peer-to-peer communication, spreading the traffic load.
This is a machine-wide attribute used for communication with clients in client/server and multi-site installations. It has no effect on locator location.
This is only relevant for servers on multi-homed hosts—machines with multiple network cards. Specify the IP address, not the hostname, because each network card may not have a unique hostname.
An empty string (the default) causes the servers to listen on the same card that is used for peer-to-peer communication. This is either the bind-address or, if that is not set, the machine’s default card.
For more information on multi-homed hosts and bind addresses, see Selecting a Network Adapter Through a Bind Address.
The receive buffer sizes (in bytes) of the TCP/IP connections used for data transmission. To minimize the buffer size allocation required for distributing large, serializable messages, the messages are sent in chunks. This setting determines the size of the chunks. Larger buffers can handle large messages more quickly, but take up more memory.
The length of time, in milliseconds, that a thread can have exclusive access to a socket it is not actively using. If a thread loses its lease to a socket it must re-acquire a socket the next time it sends a message. A value of zero causes socket leases to never expire. This property is ignored if conserve-sockets is true. Valid values are in the range 0..600000.
A space-separated list of the valid SSL ciphers for this connection. You can specify any to use any ciphers that are enabled by default in the configured JSSE provider. For more information on the ssl- *parameters, see Configuring SSL with GemFire.
Indicates whether to use SSL for member communications. Valid values are true and false. A true setting requires the use of locators.
This attribute must be consistent across the distributed system.
A space-separated list of the valid SSL protocols for this connection. You can specify any to use any protocol that is enabled by default in the configured JSSE provider.
ssl-require-authentication
Indicates whether to require authentication for member communication. Valid values are true and false.
Automatically starts a locator in the current process when the member connects to the distributed system and stops the locator when the member disconnects from the distributed system. Specify the locator with an optional address or host specification and a required port number, in one of these formats:
start-locator=address[port1]start-locator=port1If you do not specify the address, the address assigned to the member is used for the locator. The address is the member’s bind-address , if set, or the default machine address.
This locator is automatically added to the list of locators in this set of gemfire.properties.
For more information about locators, see Using Locators For Peer and Client/Server Discovery. To run a locator as a separate process that is not tied to any system member’s lifecycle, see The gemfire Command-line Utility.
(does not start a locator)
The file to which a running system member writes statistic samples. An empty string disables statistic archiving.
The .gz suffix causes this archive file to be compressed. To archive statistics without compression, omit the .gz suffix.
You can view archived statistics with the gemfire stats command.
For details about statistics archiving, see Controlling the Size of Archive Files.
The rate, in milliseconds, at which statistics are sampled. Operating system statistics are only updated when a sample is taken. If statistic archiving is enabled then these samples are written to the archive. Valid values are in the range 100..60000.
Lowering the sample rate for statistics reduces system resource use while still providing some statistics for system tuning and failure analysis.
For details about statistics archiving, see Controlling the Size of Archive Files.
statistic-sampling-enabled
Whether to collect and archive statistics on the member. If false, archiving is disabled and operating system statistics are no longer updated.
Turning statistics sampling off saves on resources, but it also takes away potentially valuable information for ongoing system tuning and about unexpected system problems.
For details about statistics, see System Statistics.
This setting does not apply to partitioned regions, where statistics are always enabled.
The TCP port to listen on for cache communications. If set to zero, the operating system selects an available port. Each process on a machine must have its own TCP port. Note that some operating systems restrict the range of ports usable by non-privileged users, and using restricted port numbers can cause runtime errors in GemFire startup.
Valid values are in the range 0..65535.
The maximum fragment size, in bytes, for transmission over UDP unicast or multicast sockets. Smaller messages are combined, if possible, for transmission up to the fragment size setting. For more information, see Tuning UDP Communication.
Valid values are in the range 1000..60000.
The size of the socket buffer used for incoming UDP point-to-point transmissions.
If disable-tcp is set to false, then a reduced buffer size of 65535 is used by default.
The default setting of 1048576 is higher than the default OS maximum buffer size on Unix, which should be increased to at least 1 megabyte to provide high-volume messaging on Unix systems. For information on how to increase the receive buffer size for Unix systems, see Configuring Multicast Speed Limits.
Valid values are in the range 2048..OS_maximum.
The size of the socket buffer used for outgoing UDP point-to-point transmissions.