This is an automated email from the ASF dual-hosted git repository.
sk0x50 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new bd28d9f24db IGNITE-27536 Fix failurePingIntervalMillis default value
(#7385)
bd28d9f24db is described below
commit bd28d9f24db6a2457dd2312a0b16a69bd3092c0a
Author: jinxxxoid <[email protected]>
AuthorDate: Fri Apr 3 16:31:28 2026 +0400
IGNITE-27536 Fix failurePingIntervalMillis default value (#7385)
---
.../administrators-guide/config/node-config.adoc | 552 +++++++++++++++++++++
1 file changed, 552 insertions(+)
diff --git a/docs/_docs/administrators-guide/config/node-config.adoc
b/docs/_docs/administrators-guide/config/node-config.adoc
new file mode 100644
index 00000000000..eb797ff5b0e
--- /dev/null
+++ b/docs/_docs/administrators-guide/config/node-config.adoc
@@ -0,0 +1,552 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+= Node Configuration Parameters
+
+Node configuration is individual for each node and is not shared across the
whole cluster.
+
+In Ignite 3, you can create and maintain configuration in either HOCON or
JSON. The configuration file has a single root "node," called `ignite`. All
configuration sections are children, grandchildren, etc., of that node.
+
+== Checking Node Configuration
+
+To get node configuration, use the CLI tool.
+
+- Start the CLI tool and connect to the node.
+- Run the `node config show` command.
+
+The CLI tool will print the full node configuration. If you only need a part
of the configuration, you can narrow down the search by providing the
properties you need as the command argument, for example:
+
+[source, shell]
+----
+node config show ignite.clientConnector
+----
+
+
+== Changing Node Configuration
+
+Node configuration is changed from the CLI tool. To change the configuration:
+
+- Start the CLI tool and connect to the node. This becomes the "default" node
for subsequent CL commands.
+- To update the default node's configuration, run the `node config update`
command and provide the update as the command argument, for example:
++
+[source, shell]
+----
+node config update ignite.clientConnector.connectTimeoutMillis=10000
+----
++
+- To update the configuration of a node other than the default one, run the
`node config update` command with the target node explicitly specified. For
example, for node named `node1`:
++
+[source, shell]
+----
+node config update -n node1
ignite.nodeAttributes.nodeAttributes.clientConnector="10900"
+----
++
+- Restart the node to apply the configuration changes.
+
+== Exporting Node Configuration
+
+If you need to export node configuration to a HOCON-formatted file, use the
following command:
+
+[source, shell]
+----
+bin/ignite3 node config show > node-config.conf
+----
+
+== Configuration Parameters
+
+=== Client Connector Configuration
+
+See the link:developers-guide/clients/overview[Clients] section for
information on configuring client connector.
+
+=== Compute Configuration
+
+[source, json]
+----
+{
+ "ignite" : {
+ "compute" : {
+ "queueMaxSize" : 2147483647,
+ "statesLifetimeMillis" : 60000,
+ "threadPoolSize" : 10
+ }
+ }
+}
+----
+
+[cols="1,1,3,1,1,2",opts="header", stripes=none]
+|======
+|Property|Default|Description|Changeable|Requires Restart|Acceptable Values
+|queueMaxSize|2147483647|Maximum number of compute tasks in queue.| Yes | Yes
| 1 - Integer.MAX_VALUE
+|statesLifetimeMillis|60000|The lifetime of job states after the job finishes,
in milliseconds.| Yes | Yes | 0 - inf
+|threadPoolSize|10|The number of threads available to compute jobs.| Yes | Yes
| 1 - Integer.MAX_VALUE
+|======
+
+=== Code Deployment Configuration
+
+[source, json]
+----
+{
+ "ignite" : {
+ "deployment" : {
+ "location" : "deployment"
+ }
+ }
+}
+----
+
+[cols="1,1,3,1,1,2",opts="header", stripes=none]
+|======
+|Property|Default|Description|Changeable|Requires Restart|Acceptable Values
+|location|deployment|Relative path to folder in the working directory. All
deployment units content will be stored there.| Yes | No | A valid path
+|======
+
+=== Failure Handler Configuration
+
+[source,json]
+----
+{
+ "ignite" : {
+ "failureHandler" : {
+ "dumpThreadsOnFailure" : true,
+ "dumpThreadsThrottlingTimeoutMillis" : 10000,
+ "handler" : {
+ "ignoredFailureTypes" : [
+ "systemWorkerBlocked", "systemCriticalOperationTimeout"
+ ],
+ "type" : "noop"
+ },
+ "oomBufferSizeBytes" : 16384
+ }
+ }
+}
+----
+
+[cols="1,1,3,1,1,2",opts="header", stripes=none]
+|======
+|Property|Default|Description|Changeable|Requires Restart|Acceptable Values
+
+|dumpThreadsOnFailure|true|The number of items that can be expired at once.|
Yes | Yes | true, false
+|dumpThreadsThrottlingTimeoutMillis|10000|Throttling timeout for thread dump
generation during failure handling, in milliseconds.| Yes | Yes | 1 - inf
+
+|handler.ignoredFailureTypes|[systemWorkerBlocked,
systemCriticalOperationTimeout]|Types of failures that will be ignored.| Yes |
Yes | 1 - inf
+|handler.type|noop|Failure handler configuration type.| Yes | Yes | noop,
stop, stopOrHalt
+|oomBufferSizeBytes|16384|Amount of memory reserved in the heap at node start,
in bytes.| Yes | Yes | 1 - inf
+
+|======
+
+
+=== Network Configuration
+
+In Apache Ignite 3, you can choose between two node discovery types. With
`STATIC` type, you manually specify the node addresses, while `MULTICAST` type
automatically detects nodes on your network, making setup simpler.
+
+- Example configuration with a `STATIC` node finder:
++
+[source, json]
+----
+{
+ "ignite" : {
+ "network" : {
+ "fileTransfer" : {
+ "chunkSizeBytes" : 1048576,
+ "maxConcurrentRequests" : 4,
+ "responseTimeoutMillis" : 10000,
+ "threadPoolSize" : 8
+ },
+ "inbound" : {
+ "soBacklog" : 128,
+ "soKeepAlive" : true,
+ "soLinger" : 0,
+ "soReuseAddr" : true,
+ "tcpNoDelay" : true
+ },
+ "listenAddresses" : [],
+ "membership" : {
+ "failurePingIntervalMillis" : 2000,
+ "membershipSyncIntervalMillis" : 30000,
+ "scaleCube" : {
+ "failurePingRequestMembers" : 3,
+ "gossipIntervalMillis" : 200,
+ "gossipRepeatMult" : 3,
+ "membershipSuspicionMultiplier" : 5,
+ "metadataTimeoutMillis" : 3000
+ }
+ },
+ "nodeFinder" : {
+ "netClusterNodes" : [ "localhost:3344" ],
+ "type" : "STATIC"
+ },
+ "outbound" : {
+ "soKeepAlive" : true,
+ "soLinger" : 0,
+ "tcpNoDelay" : true
+ },
+ "port" : 3344,
+ "shutdownQuietPeriodMillis" : 0,
+ "shutdownTimeoutMillis" : 15000,
+ "ssl" : {
+ "ciphers" : "",
+ "clientAuth" : "none",
+ "enabled" : false,
+ "keyStore" : {
+ "password" : "********",
+ "path" : "",
+ "type" : "PKCS12"
+ },
+ "trustStore" : {
+ "password" : "********",
+ "path" : "",
+ "type" : "PKCS12"
+ }
+ }
+ }
+ }
+}
+----
++
+- To switch to a `MULTICAST` node finder, update the `nodeFinder` section in
your configuration file to the following:
+
+[source, json]
+----
+{
+ "ignite" : {
+ "nodeFinder": {
+ "type": "MULTICAST",
+ "multicast" : {
+ "group": "239.192.0.0",
+ "port": 47401,
+ "resultWaitTime": 500,
+ "ttl": -1
+ }
+ }
+ }
+}
+----
+
+
+[cols="1,1,3,1,1,2",opts="header", stripes=none]
+|======
+|Property|Default|Description|Changeable|Requires Restart|Acceptable Values
+|fileTransfer||File transfer configuration.|||
+|fileTransfer.chunkSizeBytes|1048576|Chunk size in bytes.| Yes | Yes | 1 -
Integer.MAX_VALUE
+|fileTransfer.maxConcurrentRequests|4|Maximum number of concurrent requests.|
Yes | Yes | 1 - Integer.MAX_VALUE
+|fileTransfer.responseTimeoutMillis|10000|Node response timeout during file
transfer.| Yes | Yes | 0 - inf
+|fileTransfer.threadPoolSize|8|File sender thread pool size.| Yes | Yes | 1 -
Integer.MAX_VALUE
+|inbound||Server socket configuration. See
link:https://man7.org/linux/man-pages/man7/tcp.7.html[TCP documentation] and
link:https://man7.org/linux/man-pages/man7/socket.7.html[socket documentation]
for more information.|||
+|inbound.soBacklog|128| The size of the backlog.| Yes | Yes | 0 -
Integer.MAX_VALUE
+|inbound.soKeepAlive|true| Defines if the keep-alive packets are allowed.| Yes
| Yes | true, false
+|inbound.soLinger|0| Defines how long the closed socket should linger.| Yes |
Yes | 0 - 65535
+|inbound.soReuseAddr|true| Defines if the address can be reused.| Yes | Yes |
true, false
+|inbound.tcpNoDelay|true| Defines if the TCP no delay option is used.| Yes |
Yes | true, false
+|listenAddresses| |List of addresses (IPs or hostnames) to listen on. If
empty, listens on all interfaces. Currently, only a single address is
supported. This limitation will be lifted in a future update.| Yes | Yes | A
list of valid addresses separated by comma
+|membership||Node membership configuration.|||
+|membership.failurePingIntervalMillis|2000| Failure detector ping interval.|
Yes | Yes | 0 - inf
+|membership.membershipSyncIntervalMillis|30000|Periodic membership data
synchronization interval.| Yes | Yes | 0 - inf
+|membership.scaleCube|| ScaleCube-specific configuration.|||
+|scaleCube.failurePingRequestMembers|3|Number of members that are randomly
selected by a cluster node for an indirect ping request.| Yes | Yes | 1 - inf
+|scaleCube.gossipIntervalMillis|200|link:https://en.wikipedia.org/wiki/Gossip_protocol[Gossip]
spreading interval.| Yes | Yes | 1 - inf
+|scaleCube.gossipRepeatMult|3|Gossip repeat multiplier.| Yes | Yes | 1 - inf
+|scaleCube.membershipSuspicionMultiplier|5|The multiplier that is used to
calculate the timeout after which the node is considered dead.| Yes | Yes | 1 -
inf
+|scaleCube.metadataTimeoutMillis|3000|The timeout on metadata update
operation, in milliseconds.| Yes | Yes | 1 - inf
+|nodeFinder||Configuration for how the node finds other nodes in the
cluster.|||
+|nodeFinder.netClusterNodes| |Addresses of all nodes in the cluster in the
host:port format. Applicable when `STATIC` node finder type is used. | Yes |
Yes | Addresses in a valid format
+|nodeFinder.type| STATIC | Node finder type. Use `STATIC` to manually
configure node addresses.| Yes | Yes | STATIC
+|nodeFinder.type| MULTICAST | Node finder type. Use `MULTICAST` to
automatically detect nodes on your network. When using this type, you must also
specify a multicast group address.| Yes | Yes | MULTICAST
+|nodeFinder.multicast.group|239.192.0.0|The multicast group address for node
discovery.| Yes | Yes | Multicast address in a valid format
+|nodeFinder.multicast.port| 47401 | The port used for multicast.| Yes | Yes |
0 - 65535
+|nodeFinder.multicast.resultWaitTime| 500 | The time in milliseconds a node
waits for responses after a discovery request.| Yes | Yes | 1 - inf
+|nodeFinder.multicast.ttl| -1 | Sets the maximum number of network hops for
multicast packets. By default is set to -1 and uses the default system TTL.|
Yes | Yes | -1 - 255
+|outbound||Outbound request configuration.|||
+|outbound.soKeepAlive|true| Defines if the keep-alive packets are allowed.|
Yes | Yes | true, false
+|outbound.soLinger|0|Defines how long the closed socket should linger.| Yes |
Yes | 0 - 65535
+|outbound.tcpNoDelay|true| Defines if the TCP no delay option is used.| Yes |
Yes | true, false
+|port|3344|Node port.| Yes | Yes | A valid port number
+|shutdownQuietPeriodMillis|0| The period during node shutdown when Ignite
ensures that no tasks are submitted for the before the node shuts itself down.
If a task is submitted during this period, it is guaranteed to be accepted.|
Yes | No | 0 - inf
+|shutdownTimeoutMillis|15000|The maximum amount of time until the node is shut
down regardless of if new network messages were submitted during
`shutdownQuietPeriodMillis`.| Yes | No | 0 - inf
+|ssl.ciphers| "" |List of ciphers to enable, comma-separated. Empty for
automatic cipher selection.| Yes | Yes | TLS_AES_256_GCM_SHA384, etc. (standard
cipher ids)
+|ssl.clientAuth| |Whether the SSL client authentication is enabled and whether
it is mandatory.| Yes | Yes | none, optional, require
+|ssl.enabled|false|Defines if SSL is enabled for the node.| Yes | Yes | true,
false
+|ssl.keyStore|| SSL keystore configuration.|||
+|keyStore.password|********|Keystore password.| Yes | Yes | A valid password
+|keyStore.path| |Path to the keystore.| Yes | Yes | A valid path
+|keyStore.type|PKCS12|Keystore type.| Yes | Yes | PKCS12, JKS
+|ssl.trustStore||SSL trustsore configuration.|||
+|trustStore.password|********|Truststore password.| Yes | Yes | A valid
password
+|trustStore.path| |Path to the truststore.| Yes | Yes | A valid path
+|trustStore.type|PKCS12|Truststore type.| Yes | Yes | PKCS12, JKS
+|======
+
+=== Node Attributes
+
+[source, json]
+----
+{
+ "ignite" : {
+ "nodeAttributes" : {
+ "nodeAttributes" : { }
+ }
+ }
+}
+----
+
+[cols="1,1,3,1,1,2",opts="header", stripes=none]
+|======
+|Property|Default|Description|Changeable|Requires Restart|Acceptable Values
+|nodeAttributes||A collection of node attributes used for dynamically
distributing data only to those nodes that have the specified attribute
values.| Yes | Yes | A JSON-formatted object
+|======
+
+
+=== RAFT Configuration
+
+[source, json]
+----
+{
+ "ignite" : {
+ "raft" : {
+ "fsync" : false,
+ "installSnapshotTimeoutMillis" : 300000,
+ "logStripesCount" : 4,
+ "logYieldStrategy" : false,
+ "responseTimeoutMillis" : 3000,
+ "retryDelayMillis" : 200,
+ "retryTimeoutMillis" : 10000,
+ "stripes" : 10,
+ "volatileRaft" : {
+ "logStorageBudget" : {
+ "name" : "unlimited"
+ }
+ }
+ }
+ }
+}
+----
+
+[cols="1,1,3,1,1,2",opts="header", stripes=none]
+|======
+|Property|Default|Description|Changeable|Requires Restart|Acceptable Values
+|fsync|false|Specifies whether `fsync` is used to safely write Raft log
entries to disk on table partition groups before confirming replication. If set
to `false`, user data may be lost in the event of an OS crash, but an Ignite
application crash will not result in data loss.| Yes | Yes | true, false
+|installSnapshotTimeoutMillis|300000|The maximum period allowed for
transferring a RAFT snapshot to a recipient and installing it.| Yes | Yes | 1 -
inf
+|logStripesCount|4| Amount of stripes in disruptors of log manager | Yes | Yes
| 1 - inf
+|logYieldStrategy|false| If true, the non-blocking strategy is used in the
Disruptor of log manager. | Yes | Yes | true, false
+|responseTimeoutMillis|3000| Period for which the RAFT client will try to
receive a response from a remote peer.| Yes | No | 0 - inf
+|retryDelayMillis|200| Delay between re-sends of a failed request by the RAFT
client. | Yes | No | 0 - inf
+|retryTimeoutMillis|10000| Period for which the RAFT client will try to
receive a successful response from a remote peer.| Yes | No | 0 - inf
+|volatileRaft.logStorageBudget.name|unlimited|The name of the log storage
budget used by the node.| Yes | No, but the new values are only applied to new
partitions | unlimited, entry-count
+|======
+
+=== REST Configuration
+
+[source, json]
+----
+{
+ "ignite" : {
+ "rest" : {
+ "dualProtocol" : false,
+ "httpToHttpsRedirection" : false,
+ "port" : 10300,
+ "ssl" : {
+ "ciphers" : "",
+ "clientAuth" : "none",
+ "enabled" : false,
+ "keyStore" : {
+ "password" : "********",
+ "path" : "",
+ "type" : "PKCS12"
+ },
+ "port" : 10400,
+ "trustStore" : {
+ "password" : "********",
+ "path" : "",
+ "type" : "PKCS12"
+ }
+ }
+ }
+ }
+}
+----
+
+[cols="1,1,3,1,1,2",opts="header", stripes=none]
+|======
+|Property|Default|Description|Changeable|Requires Restart|Acceptable Values
+|dualProtocol|false|Defines if both HTTP and HTTPS protocols are used by the
endpoint.| Yes | Yes | true, false
+|httpToHttpsRedirection|false|Defines if requests to HTTP endpoint will be
redirected to HTTPS.| Yes | Yes | true, false
+|port|10300|The port of the node's REST endpoint.| Yes | Yes | A valid port
+|ssl.ciphers| |Explicitly set node SSL cipher.| Yes | Yes | See
link:https://www.java.com/en/configure_crypto.html[acceptable values]
+|ssl.clientAuth| |Client authorization used by the node, if any.| Yes | Yes |
none, optional, require
+|ssl.enabled|false|Defines if SSL is enabled for the node.| Yes | Yes | true,
false
+|ssl.keyStore|| SSL keystore configuration.|||
+|keyStore.password|********|Keystore password.| Yes | Yes | A valid password
+|keyStore.path| |Path to the keystore.| Yes | Yes | A valid path
+|keyStore.type|PKCS12|Keystore type.| Yes | Yes | PKCS12, JKS
+|ssl.port|10400|Port used for SSL connections.| Yes | Yes | A valid port
+|ssl.trustStore||SSL trustsore configuration.|||
+|trustStore.password|********|Truststore password.| Yes | Yes | A valid
password
+|trustStore.path| |Path to the truststore.| Yes | Yes | A valid path
+|trustStore.type|PKCS12|Truststore type.| Yes | Yes | PKCS12, JKS
+|======
+
+
+=== SQL Configuration
+
+[source, json]
+----
+{
+ "ignite" : {
+ "sql" : {
+ "execution" : {
+ "threadCount" : 4
+ },
+ "planner" : {
+ "threadCount" : 4
+ }
+ }
+ }
+}
+----
+
+[cols="1,1,3,1,1,2",opts="header", stripes=none]
+|======
+|Property|Default|Description|Changeable|Requires Restart|Acceptable Values
+|execution.threadCount|4| Number of threads for query execution. | Yes | Yes |
1 - Integer.MAX_VALUE
+|planner.threadCount|4| Number of threads for query planning.| Yes | Yes | 1 -
Integer.MAX_VALUE
+|======
+
+=== Storage Configuration
+
+Ignite Persistence is designed to provide a quick and responsive persistent
storage. When using the persistent storage, Ignite stores all the data on disk,
and loads as much data as it can into RAM for processing. When persistence is
enabled, Ignite stores each partition in a separate file on disk. In addition
to data partitions, Ignite stores indexes and metadata.
+
+Each Ignite storage engine can have several storage _profiles_.
+
+_Checkpointing_ is the process of copying dirty pages from RAM to partition
files on disk. A dirty page is a page that was updated in RAM but was not
written to the respective partition file. After a checkpoint is created, all
changes are persisted to disk and will be available if the node crashes and is
restarted. Checkpointing is designed to ensure durability of data and recovery
in case of a node failure. This process helps you utilize disk space frugally
by keeping pages in the most [...]
+
+[source, json]
+----
+{
+ "ignite" : {
+ "storage" : {
+ "engines" : {
+ "aimem" : {
+ "pageSizeBytes" : 16384
+ },
+ "aipersist" : {
+ "checkpoint" : {
+ "checkpointDelayMillis" : 200,
+ "checkpointThreads" : 4,
+ "compactionThreads" : 4,
+ "intervalMillis" : 180000,
+ "intervalDeviationPercent" : 40,
+ "logReadLockThresholdTimeout" : 0,
+ "readLockTimeoutMillis" : 10000,
+ "useAsyncFileIoFactory" : true
+ },
+ "pageSizeBytes" : 16384
+ },
+ "rocksdb" : {
+ "flushDelayMillis" : 100
+ },
+ "profiles" : [ {
+ "engine" : "aipersist",
+ "name" : "default",
+ "replacementMode" : "CLOCK",
+ "sizeBytes" : 268435456
+ },
+ {
+ "engine" : "aimem",
+ "name" : "default_aimem",
+ "emptyPagesPoolSize" : 100,
+ "initSizeBytes" : 268435456,
+ "maxSizeBytes" : 268435456
+ },
+ {
+ "engine" : "rocksdb",
+ "name" : "default_rocksdb",
+ "sizeBytes" : 268435456,
+ "writeBufferSizeBytes" : 67108864
+ } ]
+ }
+ }
+ }
+}
+----
+
+[cols="1,1,3,1,1,2a",opts="header", stripes=none]
+|======
+|Property|Default|Description|Changeable|Requires Restart|Acceptable Values
+
+|engines.aimem|| Aimem configuration.|||
+|aimem.pageSizeBytes|16384|The size of pages in the storage, in bytes.| Yes |
Yes | 1024-16384
+|engines.aipersist||Aipersist configuration.|||
+|aipersist.checkpoint.checkpointDelayMillis|200| Delay before staring a
checkpoint after receiving the command.| Yes | No | 0 - inf
+|aipersist.checkpoint.checkpointThreads|4| Number of CPU threads dedicated to
checkpointing.| Yes | Yes | 1 - inf
+|aipersist.checkpoint.compactionThreads|4| Number of CPU threads dedicated to
data compaction.| Yes | Yes | 1 - inf
+|aipersist.checkpoint.intervalMillis|180000|Interval between checkpoints in
milliseconds.| Yes | No | 0 - inf
+|aipersist.checkpoint.intervalDeviationPercent|40| Jitter that will be added
or subtracted from time period till next scheduled checkpoint (percentage).|
Yes | No | 0-100
+|aipersist.checkpoint.logReadLockThresholdTimeoutMillis|0| Threshold for
logging long read locks, in milliseconds.| Yes | Yes | 0 - inf
+|aipersist.checkpoint.readLockTimeoutMillis|10000| Timeout for checkpoint read
lock acquisition, in milliseconds.| Yes | Yes | 0 - inf
+|aipersist.checkpoint.useAsyncFileIoFactory|true| If Ignite uses asynchronous
file I/O operations provider.| Yes | Yes | true, false
+|aipersist.pageSizeBytes|16384| The size of pages in the storage, in bytes.|
No | N/A | 1024-16384
+|engines.rocksdb|| Rocksdb configuration.|||
+|rocksdb.flushDelayMillis|100| Delay before executing a flush triggered by
RAFT. | Yes | Refreshed on engine registration | 0 - inf
+|profiles||The list of available storage profiles.|||
+|engine| |The storage engine.| No | N/A |aimem, aipersist, rocksdb
+|name| | User-defined profile name.| No | N/A | A valid name
+|replacementMode|CLOCK|Sets the page replacement algorithm.| Yes | Yes |
CLOCK, RANDOM_LRU, SEGMENTED_LRU
+|size|256Mb| Memory (RAM) region size. | Yes | Yes | Min 256Mb, max defined by
the addressable memory limit of the OS
+|aipersist.sizeBytes|268435456| Memory (offheap) region size. | Yes | Yes |
Min 268435456, max defined by the addressable memory limit of the OS
+|aipersist.replacementMode|CLOCK|Sets the page replacement algorithm.| Yes |
Yes | CLOCK, RANDOM_LRU, SEGMENTED_LRU
+|aimem.initSizeBytes|268435456| Initial memory region size in bytes, when the
used memory size exceeds this value, new chunks of memory will be allocated.|
Yes | Yes | Min 256Mb, max defined by the addressable memory limit of the OS
+|aimem.maxSizeBytes|268435456| Maximum memory region size in bytes.| Yes | Yes
| Min 256Mb, max defined by the addressable memory limit of the OS
+|rocksdb.sizeBytes|268435456| Size of the rocksdb offheap cache.| Yes | Yes |
Min 0, max defined by the addressable memory limit of the OS
+|rocksdb.writeBufferSizeBytes|67108864| Size of rocksdb write buffer.| Yes |
Yes | Min 1, max defined by the addressable memory limit of the OS
+|======
+
+
+=== System Configuration
+
+This section describes internal properties, which are used by a number of
Ignite components. Although you can edit these properties in the same way you
edit all others - using the `node config update` CLI command - we suggest that
you discuss the proposed changes with the Ignite support team. The properties
can apply to a specific node - see below - or to the
link:administrators-guide/config/cluster-config#system-configuration[cluster as
a whole].
+
+NOTE: Note that the property names are in `camelCase`.
+
+[source, json]
+----
+{
+ "ignite" : {
+ "system" : {
+ "cmgPath" : "",
+ "metastoragePath" : "",
+ "partitionsBasePath" : "",
+ "partitionsLogPath" : "",
+ "properties":[],
+ "criticalWorkers" : {
+ "livenessCheckIntervalMillis" : 2000,
+ "maxAllowedLagMillis" : 5000,
+ "nettyThreadsHeartbeatIntervalMillis" : 1000
+ }
+ }
+ }
+}
+----
+
+[cols="1,1,3,1,1,2",opts="header", stripes=none]
+|======
+|Property|Default|Description|Changeable|Requires Restart|Acceptable Values
+
+|system.cmgPath| The path the cluster management group information is stored
to. Only applicable if the node is part of CMG. By default, data is stored in
`{IGNITE_HOME}/work/cmg`. It is recommended to only change this path on an
empty node.| | Yes | Yes | Valid absolute path.
+|system.metastoragePath| The path the cluster meta information is stored to.
Only applicable if the node is part of the metastorage group. By default, data
is stored in `{IGNITE_HOME}/work/metastorage`. It is recommended to only change
this path on an empty node.| | Yes | Yes | Valid absolute path.
+|system.partitionsBasePath| The path data partitions are saved to on the node.
By default, partitions are stored in `{IGNITE_HOME}/work/partitions`. It is
recommended to only change this path on an empty node.| | Yes | Yes | Valid
absolute path.
+|system.partitionsLogPath| The path RAFT log the partitions are stored at. By
default, this log is stored in `{system.partitionsBasePath}/log`. It is
recommended to only change this path on an empty node. | | Yes | Yes | Valid
absolute path.
+|system.properties| System properties used by the Ignite components.| | Yes |
Yes | A map of properties.
+|system.criticalWorkers.livenessCheckIntervalMillis|2000|Interval between
liveness checks (ms) performed by the critical worker infrastructure. | Yes |
Yes | 1 - inf (not greater than half of maxAllowedLagMillis)
+|system.criticalWorkers.maxAllowedLagMillis|5000|Maximum allowed delay from
the last heartbeat to the current time (ms). If exceeded, the critical worker
is considered to be blocked.| Yes | No | 1 - inf (should be at least twice
livenessCheckInterval)
+|system.criticalWorkers.nettyThreadsHeartbeatIntervalMillis|1000|Interval
between heartbeats used to update the Netty threads' heartbeat timestamps
(ms).| Yes | Yes | 1 - inf
+|======