System Properties
The table below lists the system properties with their descriptions in alphabetical order. See Configuring with System Properties to learn how to configure Hazelcast using these properties.
When you want to reconfigure a system property, you need to restart the members for which the property is modified. |
Property Name |
Default Value |
Type |
Description |
||
|
true |
bool |
Specifies whether to run the aggregation accumulation for multiple entries in parallel. Each Hazelcast member executes the accumulation stage of an aggregation using a single thread by default. In most cases it is useful to do it in parallel. |
||
|
60000 |
int |
Controls the maximum timeout in milliseconds to wait for an invocation space to be available. The value needs to be equal to or larger than 0. |
||
|
false |
bool |
Enable back pressure. |
||
|
100 |
int |
The maximum number of concurrent invocations per partition. |
||
|
1000 |
string |
Used when back pressure is enabled. The larger the sync window value, the less frequent an asynchronous backup is converted to a sync backup. |
||
|
true |
bool |
Specifies whether the cache invalidation event batch sending is enabled or not. |
||
|
100 |
int |
Defines the maximum number of cache invalidation events to be drained and sent to the event listeners in a batch. |
||
|
5 |
int |
Defines cache invalidation event batch sending frequency in seconds. |
||
|
10000 |
int |
Period, in milliseconds, to check if a client is still part of the cluster. |
||
|
120000 |
int |
Timeout duration to decide if a client is still part of the cluster. If a member cannot find any connection to a client in the cluster, it cleans up the local resources that are owned by that client. |
||
300 |
int |
Time after which the member assumes the client is dead and closes its connections to the client. |
|||
|
1024 |
int |
Client protocol message size limit (in bytes) for unverified connections. I.e. maximal length of the client authentication message. |
||
|
-1 |
int |
Number of threads that the client engine has available for processing requests that are blocking, e.g., transactions. When not set, it is set as the value of core size * 20. |
||
|
int |
Number of threads to process query requests coming from the clients. Default count is the number of cores multiplied by 1. |
|||
|
int |
Maximum number of threads to process non-partition-aware client requests, like |
|||
|
900 |
int |
Once a member initiates a cluster shutdown, it waits for all members to leave the cluster before shutting itself down. This parameter defines a timeout after which there may still be some members in the cluster but the initiator will give up and shut itself down regardless. |
||
|
false |
bool |
Specifies whether the automatic cluster version upgrading is enabled. |
||
|
1 |
int |
When set to a value greater than 1, automatic upgrading waits to reach that cluster size to proceed. |
||
|
100 |
int |
Property needed for concurrency detection so that write through can be done correctly. This property sets the time window, in milliseconds, between the concurrency detection and its notification. Normally in a concurrent system, the window keeps sliding forward so it always remains concurrent. Setting it too high effectively disables the optimization because once a concurrency is detected it will keep that way. Setting it too low could lead to suboptimal performance because the system will try write through and other optimizations even though the system is concurrent. |
||
|
string |
The JVM system property which gets a value as the full path of the instance tracking file for each Hazelcast member. It can then be used to verify the name and location of this file. See Instance Tracking |
|||
|
120 |
int |
Timeout to connect all other cluster members when a member is joining to a cluster. |
||
|
100 |
int |
Minimum interval in milliseconds to consider a connection error as critical. |
||
|
3 |
int |
Maximum I/O error count before disconnecting from a member. |
||
|
false |
bool |
Enables performing search for the data structures within the dynamic configurations first. Default behavior is searching within the static configurations. |
||
|
|
string |
Output directory of the diagnostic log files.
|
||
|
false |
bool |
Specifies whether diagnostics tool is enabled or not for the cluster. |
||
|
string |
Optional prefix for the diagnostics log file. |
|||
|
0 |
long |
Frequency of scanning all the pending invocations in seconds.
0 means the |
||
|
5 |
long |
Threshold period, in seconds, that makes an invocation to be considered as slow. |
||
|
10 |
int |
Allowed count of diagnostic files within each roll. |
||
|
50 |
int |
Size of each diagnostic file to be rolled. |
||
|
100 |
int |
Maximum allowed deviation for a member-to-member heartbeats. |
||
|
10 |
long |
Period for which the MemberHeartbeats plugin of the diagnostics tool runs. 0 means this plugin is disabled. |
||
|
60 |
long |
Frequency, in seconds, at which the cluster information is dumped to the diagnostics log file. |
||
|
60 |
long |
Frequency, in seconds, at which the Metrics plugin dumps information to the diagnostics log file. |
||
|
33 |
int |
Maximum allowed deviation for a member-to-member operation heartbeats. |
||
|
10 |
long |
Period, in seconds, for which the OperationHeartbeats plugin of the diagnostics tool runs. 0 means this plugin is disabled. |
||
|
0 |
long |
Period, in seconds, for which the PendingInvocations plugin of the diagnostics tool runs. 0 means this plugin is disabled. |
||
|
|
string |
Configures the output for the diagnostics. Available values are |
||
|
60 |
long |
Period, in seconds, for which the SlowOperations plugin of the diagnostics tool runs. 0 means this plugin is disabled. |
||
|
0 |
long |
Period, in seconds, for which the StoreLatency plugin of the diagnostics tool runs. 0 means this plugin is disabled. |
||
|
0 |
long |
Period, in seconds, for resetting the statistics for the StoreLatency plugin of the diagnostics tool. |
||
|
true |
bool |
Specifies whether the SystemLog plugin of the diagnostics tool is enabled or not. |
||
|
false |
bool |
Specifies whether the SystemLog plugin collects information about partition migrations. |
||
|
false |
bool |
Enables/disables the Discovery SPI lookup over the old native implementations. See Discovery SPI for more information. |
||
|
false |
bool |
Enable use of public IP address in member discovery with Discovery SPI. If you set this property to true in your source cluster, please make sure you have set the public addresses for your target members since they will be discovered using their public addresses. Otherwise, they cannot be discovered. See the Public Address section. |
||
bool |
When it is set to |
||||
|
null |
string |
Hazelcast Enterprise license key. |
||
|
1000000 |
int |
Capacity of internal event queue. |
||
|
250 |
int |
Timeout to enqueue events to event queue. |
||
|
5000 |
int |
To prevent overloading of the outbound connections, once in a while an event is made synchronous by wrapping it in a dummy operation and waiting for a dummy response. This causes the outbound write queue of the connection to get drained. This timeout configures the maximum amount of waiting time for this response. Setting it to a too low value can lead to an uncontrolled growth of the outbound write queue of the connection. |
||
|
5 |
int |
Number of event handler threads. |
||
600 |
int |
Maximum wait in seconds during graceful shutdown. |
|||
|
true |
bool |
Specifies whether the global concurrent High-Density Memory Store indexes are enabled or not. |
||
|
20 |
int |
Health monitoring logging interval in seconds. NOTE: For detailed information about the health monitoring tool, along with this and the following health monitoring related system properties, see the Health Check and Monitoring section. |
||
|
SILENT |
string |
Health monitoring log level. When SILENT, logs are printed only when values exceed some predefined threshold. When NOISY, logs are always printed periodically. Set OFF to turn off completely. |
||
|
70 |
int |
When the health monitoring level is SILENT, logs are printed only when the CPU usage exceeds this threshold. |
||
|
70 |
int |
When the health monitoring level is SILENT, logs are printed only when the memory usage exceeds this threshold. |
||
|
|
string |
Type of the heartbeat failure detector. See the Failure Detector Configuration section. |
||
|
5 |
int |
Heartbeat send interval in seconds. |
||
|
true |
bool |
If enabled and is able to fetch memory statistics via Java’s |
||
|
15 |
long |
Percentage of the free memory space that is required for Persistence. |
||
|
false |
bool |
If enabled and when a problem occurs during enabling XML External Entity (XXE) protection, then the problem is ignored and only a warning message is logged. This property should only be used as a last resort.
Hazelcast uses the XXE protection by setting respective XML processor properties. These properties are supported in modern XML processors, e.g., the default one available in Java. An old processor on the classpath, such as Xerces and Xalan, may miss the support and throw an exception during enabling the XXE protection. Setting this system property to |
||
|
COPY_ON_READ |
string |
Defines the behavior for index copying on index read/write. See the Copying Indexes section. |
||
|
string |
Used to override the cluster version to use while a Hazlecast instance is not yet part of a cluster. The cluster version assumed before joining a cluster may affect the serialization format of the cluster discovery. The default is to use the member’s codebase version. You may need to override it for your member to join a cluster running on a previous cluster version. |
|||
|
0 |
int |
Initial expected cluster size to wait before member to start completely. |
||
|
0 |
int |
Initial time in seconds to wait before member to start completely. |
||
|
N/A |
int |
Count of scannable partitions in each run of the background expiration task. No default value exists. It is dynamically calculated against the partition count or partition thread count. |
||
|
10 |
int |
Scannable percentage of the entries in the maps' partitions in each run of the background expiration task. |
||
|
5 |
int |
Interval, in seconds, at which the background expiration task is going to run. |
||
|
1000000 |
int |
Timeout for a partition of a map. Its default value is 1000000 nanoseconds (1 ms). It puts an upper limit for execution of a background expiry operations to prevent the high CPU usages when a partition’s size grows. |
||
|
10 |
int |
If missed invalidation count is bigger than this value, relevant cached data is made unreachable. |
||
|
60 |
int |
Period for which the cluster members are scanned to compare generated invalidation events with the received ones from Near Cache. |
||
|
250 |
int |
Maximum number of retries for an invocation. After threshold is reached, the invocation is assumed as failed. |
||
|
500 |
int |
Pause time between each retry cycle of an invocation in milliseconds. |
||
|
20 |
int |
Interval in seconds between IOBalancer executions. |
||
|
3 |
int |
Number of socket input threads. |
||
|
3 |
int |
Number of socket output threads. |
||
|
3 |
int |
Number of threads performing socket input and socket output. If, for example, the default value (3) is used, it means there are 3 threads performing input and 3 threads performing output (6 threads in total). |
||
|
true |
bool |
Optimization that allows sending of packets over the network to be done on the calling thread if the conditions are right. This can reduce the latency and increase the performance for low threaded environments. |
||
|
string |
Type of the JCache provider. Values can be |
|||
|
false |
bool |
Enable JMX agent. |
||
|
|
string |
The directory containing the JAR files, that can be used to specify custom classpath for a stage in a pipeline. |
||
|
25 |
int |
The minimum time in microseconds the cooperative worker threads will sleep if none of the tasklets made any progress. Lower values increase idle CPU usage but may result in decreased latency. Higher values will increase latency, and very high values (>10000µs) will also limit throughput. |
||
|
500 |
int |
The maximum time in microseconds the cooperative worker threads will sleep if none of the tasklets made any progress. Lower values increase idle CPU usage but may result in decreased latency. Higher values will increase latency, and very high values (>10000µs) will also limit the throughput. |
||
|
25 |
int |
The minimum time in microseconds the non-cooperative worker threads will sleep if none of the tasklets made any progress. Lower values increase idle CPU usage but may result in decreased latency. Higher values will increase latency, and very high values (>10000µs) will also limit the throughput. |
||
|
5000 |
int |
The maximum time in microseconds the non-cooperative worker threads will sleep if none of the tasklets made any progress. Lower values increase idle CPU usage but may result in decreased latency. Higher values will increase latency, and very high values (>10000µs) will also limit the throughput. |
||
|
1000 |
int |
Maximum number of job results to keep in the cluster; the oldest results will be automatically deleted after this size is reached. |
||
|
604800 |
int |
Maximum number of time in seconds the job results are kept in the cluster. They will be automatically deleted after this period is reached. |
||
|
5000 |
int |
The Jet engine periodically checks for new jobs to start and perform cleanup of the unused resources. This property configures how often this check and cleanup is done, in milliseconds. |
||
|
5 |
int |
Some JMX MBeans are cached to reduce the overhead of calculating statistics. This parameter determines for how long the MBeans can go stale. |
||
|
string |
It is an overrider property for the default server socket listener’s IP address. If this property is set, then this is the address where the server socket is bound to. |
|||
|
string |
It is an overrider property for the default public address to be advertised to other cluster members and clients. |
|||
|
Long.MAX_VALUE |
long |
All locks which are acquired without an explicit lease time use this value (in seconds) as the lease time. When you want to set an explicit lease time for your locks, you cannot set it to a longer time than this value. |
||
|
true |
bool |
Specifies whether the cluster name, IP and version should be included in all log messages. |
||
|
false |
bool |
Specifies whether cluster emojis can be used in log messages. This is just a hint for components calling the logging. |
||
|
jdk |
enum |
Name of logging framework type to send logging events. |
||
|
false |
bool |
Notify entry listeners with predicates on map entry updates with events that match entry, update or exit from predicate value space. |
||
|
1 |
int |
Maximum number of IMap entries Hazelcast will evict during a single eviction cycle. Eviction cycle is triggered by a map mutation. Typically it is fine to evict at most a single entry. However, when you insert values in a loop, each iteration doubles the entry size. In this situation more than just a single entry should be evicted. |
||
|
15 |
int |
Count of the IMap entries in the entry set formed by random samplings from which Hazelcast chooses to remove the optimal entry during an IMap eviction. |
||
|
10 |
int |
Delays expiration of backup map entries by the defined amount. This may be useful to prevent some cases where an entry might be observed on the primary replica (partition owner) but not on the backup replica. For instance, when running an entry processor on both primary and backup replicas. |
||
|
10 |
int |
If the collected invalidations do not reach the configured batch size, a background process sends them at this interval. |
||
|
true |
bool |
Enable or disable batching. When it is set to |
||
|
100 |
int |
Maximum number of invalidations in a batch. |
||
|
1000 |
int |
Maximum size of the key batch sent to the partition owners for value loading and the maximum size of a key batch for which values are loaded in a single partition. |
||
|
50000 |
int |
Maximum number of keys read into memory at a time.
This is a per-member limit to prevent |
||
|
10 |
int |
Scheduler delay for map tasks those are executed on backup members. |
||
50000 |
string |
Maximum write-behind queue capacity per member. It is the total of all write-behind queue sizes in a member including backups.
Its maximum value is |
|||
|
120 |
int |
The timeout for which the master member candidate gives up waiting for a response to its mastership claim. After timeout happens, non-responding member will be removed from the member list. |
||
|
20 |
int |
Split-brain merge timeout for a specific target. |
||
|
300 |
int |
Join timeout, maximum time to try to join before giving. |
||
|
60 |
int |
Maximum timeout of heartbeat in seconds for a member to assume it is dead.
|
||
|
20 |
int |
Maximum wait time before join operation.
This is an upper limit on the cluster’s pre-join phase duration. The pre-join
phase starts when the master receives the first join request, and ends after
no new members have tried to join for |
||
|
int |
2 |
Number of threads that the Management Center service has available for processing the operations sent from the connected Management Center instance. |
||
|
10 |
int |
Management Center maximum visible slow operations count. |
||
|
60 |
int |
Interval at which master member publishes a member list. |
||
|
true |
bool |
Defines whether the Moby naming should be used for generating instance
names when they are not provided by user. Moby name is a short human-readable
name consisting of a randomly chosen adjective and the surname of a famous person.
If set to |
||
300 |
int |
Initial run delay of split-brain/merge process in seconds. |
|||
120 |
int |
Run interval of split-brain/merge process in seconds. |
|||
|
5 |
int |
Frequency, in seconds, of the metrics collection cycle. Note that the preferred way for controlling this setting is Metrics Configuration. |
||
|
true |
bool |
Specifies whether collecting metrics from the distributed data structures is enabled. |
||
|
false |
bool |
Enables collecting debug metrics if set to true, disables it otherwise. Note that this can be set with system property only. |
||
|
true |
bool |
Enables the metrics collection if set to |
||
|
true |
bool |
Enables buffering the collected metrics for Management Center if set to |
||
|
5 |
int |
Duration, in seconds, that the metrics are retained for Management Center. Note that the preferred way for controlling this setting is Metrics Configuration. |
||
|
true |
bool |
Enables exposing the collected metrics over JMX if set to |
||
|
N/A |
long |
IP address of a multicast group. If not set, then the configuration is read from the multicast configuration. |
||
|
N/A |
long |
Allows explicit control if the |
||
|
3 |
int |
Interval, in seconds, at which the network statistics (bytes sent and received) are re-calculated and published. It is valid only when advanced networking is used. |
||
|
false |
bool |
Controls whether more strict checks upon BIND requests towards a cluster member are applied. The checks mainly validate the remote BIND request against the remote address as found in the socket. By default they are disabled, to avoid connectivity issues when deployed under NAT’ed infrastructure. |
||
|
5000 |
int |
Maximum time a caller to wait for backup responses of an operation. After this timeout, operation response is returned to the caller even no backup response is received. |
||
|
60000 |
int |
Timeout to wait for a response when a remote call is sent, in milliseconds. |
||
|
false |
bool |
When enabled, an operation fails with |
||
|
2 |
int |
Number of generic operation handler threads for each Hazelcast member.
Its default value is the maximum of |
||
|
1 |
int |
Number of priority generic operation handler threads per member. Having at least 1 priority generic operation thread helps to improve cluster stability since a lot of cluster operations are generic priority operations and they should get executed as soon as possible. If there is a dedicated generic operation thread then these operations don’t get delayed because the generic threads are busy executing regular user operations. So unless memory consumption is an issue, make sure there is at least 1 thread. |
||
|
2 |
int |
Number of threads the process responses. The default value gives stable and good performance. If set to 0, the response threads are bypassed and the response handling is done on the IO threads. Under certain conditions this can give a higher throughput. |
||
|
block |
string |
Specifies whether the response thread for internal operations on the member side are blocked or not.
If you use |
||
|
2 |
int |
Number of partition based operation handler threads for each Hazelcast member.
Its default value is the maximum of |
||
|
5 |
int |
Timeout, in seconds, to stop the execution of resolution algorithm when needed, in the case of lots of possible random network disconnections especially in the large clusters. |
||
|
0 |
int |
When the master (oldest member in the cluster) receives a heartbeat problem report from another member, it first waits for a number of heartbeat rounds to allow other members to report their problems, if there is any. This property sets the number of these rounds. |
||
|
30 |
int |
Interval for syncing backup replicas in seconds. |
||
|
271 |
int |
Total partition count. |
||
|
10 |
int |
Maximum number of partition migrations to be executed concurrently on a member.
Member can be either source or target of the migration. Having too much parallelization
can increase the heap memory usage and overload the network during a partition rebalance.
Having less parallelization can increase the total migration completion time.
The default value, |
||
|
10 |
int |
Maximum number of parallel partition backup replication operations per member.
When a partition backup ownership changes or a backup inconsistency is detected, the members start to sync their backup partitions.
This parameter limits the maximum running replication operations in parallel.
The default value, which is the value of |
||
|
true |
bool |
Subdivides the migration fragments into chunks to prevent out-of-memory errors during large partition migrations. |
||
|
250 |
int |
Limits the total size of migration data in MB for a single partition migration operation. If you have parallel migrations, the total size of migration data in MB is limited to the number of parallel migrations multiplied by this value. |
||
|
true |
bool |
When enabled, which is the default behavior, partitions are migrated/replicated in small fragments instead of one big chunk. Migrating partitions in fragments reduces pressure on the memory and network since smaller packets are created in the memory and sent through the network. Note that it can increase the migration time to complete. |
||
|
0 |
int |
Interval to run partition migration tasks in seconds. |
||
|
false |
bool |
Hazelcast allows read operations to be performed while a partition is being migrated. This can lead to stale reads for some scenarios. You can disable stale read operations by setting this system property’s value to "true". Its default value is "false", meaning that stale reads are allowed. |
||
|
300 |
int |
Timeout for partition migration tasks in seconds. |
||
|
15 |
int |
Interval for publishing partition table periodically to all cluster members in seconds. |
||
|
string |
Class name implementing |
|||
|
true |
bool |
Enables/disables automatic state management of clusters in Kubernetes Statefulset, which are configured with persistence enabled. When enabled, Hazelcast monitors the runtime environment to detect the intent of shutdown and automates the cluster state management decisions. |
||
|
string |
|
Selects the cluster state to be used when members are temporarily missing from a cluster in Kubernetes Statefulset which is configured with persistence enabled. Valid values are |
||
|
true |
bool |
Enable or disable the sending of phone home data to Hazelcast’s phone home server. |
||
|
true |
bool |
Prefer IPv4 network interface when picking a local address. |
||
|
3 |
int |
Maximum value of local partitions to trigger local pre-check for |
||
|
RULES |
String |
Type of the query optimizer. For optimizations based on static rules, set the value to |
||
false |
bool |
Each Hazelcast member evaluates query predicates using a single thread by default.
In most cases, the overhead of inter-thread communications overweight can benefit from parallel execution.
When you have a large dataset and/or slow predicate, you may benefit from parallel predicate evaluations.
Set to |
|||
|
-1 |
int |
Result size limit for query operations on maps.
This value defines the maximum number of returned elements for a single query result.
If a query exceeds this number of elements, a |
||
|
null |
string |
When set to any non-null value, security recommendations are logged at the |
||
|
long |
Version of the Hazelcast serialization. Accepted values are between 1 and the highest supported serialization version. |
|||
true |
bool |
Enables/disables Hazelcast shutdownhook thread.
When enabled, the shutdown action is determined according to the value of |
|||
TERMINATE |
string |
Specifies the behavior when JVM is exiting while the Hazelcast instance is still running. It has two values: TERMINATE and GRACEFUL. The former one terminates the Hazelcast instance immediately. The latter, GRACEFUL, initiates the graceful shutdown which can significantly slow down the JVM exit process, but it tries to retain data safety.
|
|||
|
true |
bool |
Enables/disables the SlowOperationDetector. |
||
|
300 |
int |
Purge interval for slow operation logs. |
||
|
3600 |
int |
Defines the retention time of invocations in slow operation logs. If an invocation is older than this value, it is purged from the log to prevent unlimited memory usage. When all invocations are purged from a log, the log itself is deleted. |
||
|
false |
bool |
Defines if the stacktraces of slow operations are logged in the log file. Stack traces are always reported to the Management Center, but by default, they are not printed to keep the log size small. |
||
|
10000 |
int |
Defines a threshold above which a running operation in |
||
|
true |
bool |
Bind both server-socket and client-sockets to any local interface. |
||
|
false |
bool |
Specifies whether the byte buffers used in the socket should be a direct byte buffer ( |
||
|
true |
bool |
Bind client socket to an interface when connecting to a remote server socket.
When set to |
||
|
true |
bool |
Bind client-sockets to any local interface. If not set, |
||
|
false |
bool |
Specifies whether the byte buffers used in the socket, when connecting to a client, should be direct or a regular one. |
||
|
-1 |
int |
Hazelcast creates all connections with receive buffer size set according to the |
||
|
-1 |
int |
Hazelcast creates all connections with send buffer size set according to the |
||
|
10 |
int |
Socket connection timeout in seconds. |
||
|
true |
bool |
Sets a socket to be in the |
||
|
0 |
int |
Sets the linger value (timeout) for a socket in the |
||
|
true |
bool |
Specifies whether the delay of sending successive small packets on the network is disabled. |
||
|
128 |
int |
Socket receive buffer ( |
||
|
128 |
int |
Socket send buffer ( |
||
|
true |
bool |
Bind server-socket to any local interface. If not set, |
||
3 |
int |
The number of incremental ports, starting with the port number defined in the network configuration, that is used to connect to a host (which is defined without a port in TCP/IP member list while a member is searching for a cluster). |
|||
|
14400 |
int |
Specifies how long the address of a member that has previously joined the cluster will be retained/remembered in the TCP/IP joiner, after it leaves the cluster. In a split-brain scenario, this member addresses is used to discover the other cluster by the split-brain handler. |
||
|
5 |
int |
Wait time before join operation.
This time establishes a pre-join phase time window for newcomer members to
make their first join requests. Once |
||
|
1 |
int |
Defines the initial backoff delay for the WAN implementation’s consumer. It is used if the acknowledgment delaying feature is enabled. |
||
|
100 |
int |
Defines the maximum backoff delay for the WAN implementation’s consumer. It is used if the acknowledgment delaying feature is enabled. |
||
|
1.5D |
string |
Defines the multiplier (the speed of the function) for the backoff delay for the WAN implementation’s consumer. It is used if the acknowledgment delaying feature is enabled |
||
50000 |
int |
Defines the pending invocation threshold for the WAN replication implementation. Exceeding this threshold on a WAN consumer member makes the member to delay the WAN acknowledgment, thus slowing down the WAN publishers on the source side that send WAN events to the given WAN consumer. Setting this value to negative disables the acknowledgement delaying feature. |
|||
|
1 |
int |
Number of parallel connections between members. Not having more connections than IO threads is recommended. |