Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Cipher engine transformation for asymmetric algorithm. Default is RSA
Initial public/private key length. Default is 2048
Change the secret group key when the coordinator changes. If enabled, this will take place even if change_key_on_leave is disabled.
When a node leaves, change the secret group key, preventing old members from eavesdropping
Number of ciphers in the pool to parallelize encrypt and decrypt requests
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Max number of keys in key_map
logger level (see javadocs)
Cryptographic Service Provider
Determines whether to collect statistics (and expose them via JMX). Default is true
Cipher engine transformation for symmetric algorithm. Default is AES
Initialization vector length for symmetric encryption. A value must be specified here if the configured sym_algorithm requires an initialization vector.
Initial key length for matching symmetric algorithm. Default is 128
If true, a separate KeyExchange protocol (somewhere in the stack) is used to fetch the shared secret key. If false, the default (built-in) key exchange protocol will be used.
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The fully qualified name of the class implementing the AuthToken interface
Do join or merge responses from the coordinator also need to be authenticated
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Max time (in ms) to wait until the threads which passed the barrier before it was closed have completed. If this time elapses, an exception will be thrown and state transfer will fail. 0= wait forever
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max time barrier can be closed. Default is 60000 ms
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Max interval (millis) at which the queued messages are sent
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
The maximum number of messages per batch
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Max interval (millis) at which the queued messages are sent
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
The maximum number of messages per batch
Time (microseconds) to wait on poll() from the down_queue. A value of <= 0 doesn't wait
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Port for discovery packets
Return from the discovery phase as soon as we have 1 coordinator response
Target address for broadcasts. This should be restricted to the local subnet, e.g. 192.168.1.255
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
Sends discovery packets to ports 8555 to (8555+port_range)
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
bypasses message bundling if set
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Number of locks to be used for lock striping (for synchronized access to the server_lock entries)
Number of backups to the coordinator. Server locks get replicated to these nodes as well
Determines whether to collect statistics (and expose them via JMX). Default is true
By default, a lock owner is address:thread-id. If false, we only use the node's address. See https://issues.redhat.com/browse/JGRP-1886 for details
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
bypasses message bundling if set
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max time (im ms) to wait for lock info responses from members in a lock reconciliation phase
Number of locks to be used for lock striping (for synchronized access to the server_lock entries)
Determines whether to collect statistics (and expose them via JMX). Default is true
By default, a lock owner is address:thread-id. If false, we only use the node's address. See https://issues.redhat.com/browse/JGRP-1886 for details
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Compression level (from java.util.zip.Deflater) (0=no compression, 1=best speed, 9=best compression). Default is 9
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Minimal payload size of a message (in bytes) for compression to kick in. Default is 500 bytes
Number of inflaters/deflaters for concurrent processing. Default is 2
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Bypasses message bundling if true
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Number of backup coordinators. Modifications are asynchronously sent to all backup coordinators
Number of milliseconds to wait for reconciliation responses from all current members
Determines whether to collect statistics (and expose them via JMX). Default is true
Request timeouts (in ms). If the timeout elapses, a TimeoutException will be thrown
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Loop back multicast messages
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Keep the delay constant. By default delay time randoms between 0 and upper bound
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Upper bound of number of milliseconds to delay passing a message up the stack (exclusive)
Number of nanoseconds to delay passing a message up the stack
logger level (see javadocs)
Upper bound number of milliseconds to delay passing a message down the stack (exclusive)
Number of nanoseconds to delay passing a message down the stack
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Prints to stdout
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
The type of secret key to be sent up the stack (converted from DH). Should be the same as the algorithm part of ASYM_ENCRYPT.sym_algorithm if ASYM_ENCRYPT is used
The length of the secret key (in bits) to be sent up the stack. AES requires 128 bits. Should be the same as ASYM_ENCRYPT.sym_keylength if ASYM_ENCRYPT is used.
Determines whether to collect statistics (and expose them via JMX). Default is true
Max time (in ms) that a FETCH_SECRET_KEY down event will be ignored (if an existing request is in progress) until a new request for the secret key is sent to the keyserver
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Drops all messages (up or down) if true
Number of subsequent multicasts to drop in the down direction
Number of subsequent unicasts to drop in the down direction
Enables ergonomics: dynamically find the best values for properties at runtime
If discard_all is true, still sends messages to self
use a GUI or not
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Whether or not to copy multicast messages
Whether or not to copy unicast messages
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Number of copies of each incoming message (0=no copies)
logger level (see javadocs)
Number of copies of each outgoing message (0=no copies)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Interval at which a HEARTBEAT is sent to the cluster
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Timeout after which a node is suspected if neither a heartbeat nor data have been received from it
Interval at which the HEARTBEAT timeouts are checked
Uses TimeService to get the current time rather than calling System.nanoTime().
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Interval at which a HEARTBEAT is sent to the cluster
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Timeout after which a node is suspected if neither a heartbeat nor data have been received from it
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Interval at which a HEARTBEAT is sent to the cluster
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Timeout after which a node is suspected if neither a heartbeat nor data have been received from it
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Max time (in ms) that a liveness check for a single host can take
The command used to check a given host for liveness. Example: "ping". If null, InetAddress.isReachable() will be used by default
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
The interval (in ms) at which the hosts are checked for liveness
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Max time (in ms) after which a host is suspected if it failed all liveness checks
Uses TimeService to get the current time rather than System.currentTimeMillis. Might get removed soon, don't use !
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The NIC on which the ServerSocket should listen on. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACK
Max age (in ms) an element marked as removed has to have until it is removed
Max number of elements in the cache until deleted elements are removed
Start port for client socket. Default value of 0 picks a random port
Enables ergonomics: dynamically find the best values for properties at runtime
Use "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.
Used to map the internal port (bind_port) to an external port. Only used if > 0
Timeout for getting socket cache from coordinator
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Whether to use KEEP_ALIVE on the ping socket or not. Default is true
logger level (see javadocs)
Number of attempts coordinator is solicited for socket cache until we give up
Number of ports to probe for start_port and client_bind_port
Max time in millis to wait for ping Socket.connect() to return
Start port for server socket. Default value of 0 picks a random port
Determines whether to collect statistics (and expose them via JMX). Default is true
Interval for broadcasting suspect messages
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The NIC on which the ServerSocket should listen on. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACK
Start port for client socket. Default value of 0 picks a random port
Max time (ms) to wait for a connect attempt
Enables ergonomics: dynamically find the best values for properties at runtime
Use "external_addr" if you have hosts on different networks behind firewalls. On each firewall, set up a port forwarding rule to the local IP (e.g. 192.168.1.100) of the host, then on each host, set the "external_addr" TCP transport attribute to the external (public IP) address of the firewall
Used to map the internal port (bind_port) to an external port. Only used if > 0
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
SO_LINGER in seconds. Default of -1 disables it
The highest port the FD_SOCK server can listen on. Needed when wrapping around, looking for ports. See https://issues.redhat.com/browse/JGRP-2560 for details.
The lowest port the FD_SOCK server can listen on. Needed when wrapping around, looking for ports. See https://issues.redhat.com/browse/JGRP-2560 for details
Offset from the transport's bind port
Number of ports to probe for finding a free port
Determines whether to collect statistics (and expose them via JMX). Default is true
Interval for broadcasting suspect messages
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Return from the discovery phase as soon as we have 1 coordinator response
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
The max number of times my own information should be written to the storage after a view change
Interval (in ms) at which the info writer should kick in
logger level (see javadocs)
The absolute path of the shared file
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
If set, a shutdown hook is registered with the JVM to remove the local address from the store. Default is true
If true, on a view change, the new coordinator removes all data except its own
If true, on a view change, the new coordinator removes files from old coordinators
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
Change the backend store when the view changes. If off, then the file is only changed on joins, but not on leaves. Enabling this will increase traffic to the backend store.
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
When a non-initial discovery is run, and InfoWriter is not running, write the data to disk (if true). JIRA: https://issues.redhat.com/browse/JGRP-2288
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Points to an XML file defining the fork-stacks, which will be created at initialization. Ignored if null
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
If enabled, state transfer events will be processed, else they will be passed up
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
The max number of bytes in a message. Larger messages will be fragmented
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
The max number of bytes in a message. Larger messages will be fragmented
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
The max number of bytes in a message. Larger messages will be fragmented
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
The max number of bytes in a message. Larger messages will be fragmented
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
The max number of bytes in a message. Larger messages will be fragmented
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Enables printing of down messages
Enables printing of up (received) messages
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Return from the discovery phase as soon as we have 1 coordinator response
SQL to clear the table
The JDBC connection driver name
The JDBC connection password
The JDBC connection URL
The JDBC connection username
Finds a given entry by its address and cluster name, used to implement a contains()
To use a DataSource registered in JNDI, specify the JNDI name here. This is an alternative to all connection_* configuration options: if this property is not empty, then all connection relatedproperties must be empty.
SQL used to delete a row. Customizable, but keep the order of parameters and pick compatible types: 1)Own Address, as String 2)Cluster name, as String
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
The max number of times my own information should be written to the storage after a view change
Interval (in ms) at which the info writer should kick in
If not empty, this SQL statement will be performed at startup.Customize it to create the needed table on those databases which permit table creation attempt without losing data, such as PostgreSQL and MySQL (using IF NOT EXISTS). To allow for creation attempts, errors performing this statement will be loggedbut not considered fatal. To avoid any DDL operation, set this to an empty string.
SQL used to insert a new row. Customizable, but keep the order of parameters and pick compatible types: 1)Own Address, as String 2)Cluster name, as String 3)Serialized PingData as byte[]
logger level (see javadocs)
The absolute path of the shared file
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
If set, a shutdown hook is registered with the JVM to remove the local address from the store. Default is true
If true, on a view change, the new coordinator removes all data except its own
If true, on a view change, the new coordinator removes files from old coordinators
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
SQL used to fetch all node's PingData. Customizable, but keep the order of parameters and pick compatible types: only one parameter needed, String compatible, representing the Cluster name. Must return a byte[], the Serialized PingData as it was stored by the insert_single_sql statement. Must select primary keys subsequently for cleanup to work properly
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
Change the backend store when the view changes. If off, then the file is only changed on joins, but not on leaves. Enabling this will increase traffic to the backend store.
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
When a non-initial discovery is run, and InfoWriter is not running, write the data to disk (if true). JIRA: https://issues.redhat.com/browse/JGRP-2288
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Return from the discovery phase as soon as we have 1 coordinator response
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
handle multicast messages
Do not add OOB messages to a batch if true
Time to sleep (in ms) from the reception of the first message to sending a batch up
Determines whether to collect statistics (and expose them via JMX). Default is true
handle unicast messages
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Interval (in ms) after which we check for view inconsistencies
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Interval (in milliseconds) when the next info message will be sent. A random value is picked from range [1..max_interval]
The max number of merge participants to be involved in a merge. 0 sets this to unlimited.
Minimum time in ms before sending an info message
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max time (in ms) to block
Max number of bytes to send per receiver until an ack must be received to proceed
Computed as max_credits x min_theshold unless explicitly set
The threshold (as a percentage of max_credits) at which a receiver sends more credits to a sender. Example: if max_credits is 1'000'000, and min_threshold 0.25, then we send ca. 250'000 credits to P once we've got only 250'000 credits left for P (we've received 750'000 bytes from P)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max time (in ms) to block
Max number of bytes to send per receiver until an ack must be received to proceed
Max number of bytes of all queued messages for a given destination. If a given destination has no credits left and the message cannot be added to the queue because it is full, then the sender thread will be blocked until there is again space available in the queue, or the protocol is stopped.
Computed as max_credits x min_theshold unless explicitly set
The threshold (as a percentage of max_credits) at which a receiver sends more credits to a sender. Example: if max_credits is 1'000'000, and min_threshold 0.25, then we send ca. 250'000 credits to P once we've got only 250'000 credits left for P (we've received 750'000 bytes from P)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Bind address for multicast socket. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACK
The interface (NIC) which should be used by this transport
Return from the discovery phase as soon as we have 1 coordinator response
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Time to live for discovery packets. Default is 8
logger level (see javadocs)
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
Multicast address to be used for discovery
Multicast port for discovery packets. Default is 7555
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
List of interfaces to receive multicasts on
If true, the transport should use all available interfaces to receive multicast messages
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
List of interfaces to send multicasts on
Whether send messages are sent on all interfaces. Default is false
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The absolute path of the directory for the disk cache. The mappings will be stored as individual files in this directory
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Number of samples to maintain for rolling average
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Return from the discovery phase as soon as we have 1 coordinator response
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Rackspace API access key
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Return from the discovery phase as soon as we have 1 coordinator response
Name of the root container
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
The max number of times my own information should be written to the storage after a view change
Interval (in ms) at which the info writer should kick in
logger level (see javadocs)
The absolute path of the shared file
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
Rackspace region, either UK or US
If set, a shutdown hook is registered with the JVM to remove the local address from the store. Default is true
If true, on a view change, the new coordinator removes all data except its own
If true, on a view change, the new coordinator removes files from old coordinators
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
Change the backend store when the view changes. If off, then the file is only changed on joins, but not on leaves. Enabling this will increase traffic to the backend store.
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
Rackspace username
When a non-initial discovery is run, and InfoWriter is not running, write the data to disk (if true). JIRA: https://issues.redhat.com/browse/JGRP-2288
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max number of bytes to be sent in time_period ms. Blocks the sender if exceeded until a new time period has started
Determines whether to collect statistics (and expose them via JMX). Default is true
Number of milliseconds during which max_bytes bytes can be sent
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If false, all messages are passed down. Will be set to false if the bundler returns a queue size of -1
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
The max threshold (percentage between min_threshold and 1.0) above which all messages are dropped
The min threshold (percentage between 0 and 1.0) below which no message is dropped
Determines whether to collect statistics (and expose them via JMX). Default is true
The weight used to compute the average queue size. The higher the value is, the less the current queue size is taken into account. E.g. with 2, 25% of the current queue size and 75% of the old average is taken to compute the new average. In other words: with a high value, the average will take longer to reflect the current queue size.
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
When true, we pass the message up to the application and only then send an ack. When false, we send an ack first and only then pass the message up to the application.
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Interval (in milliseconds) at which we resend the RSVP request. Needs to be < timeout. 0 disables it.
Determines whether to collect statistics (and expose them via JMX). Default is true
Whether an exception should be thrown when the timeout kicks in, and we haven't yet received all acks. An exception would be thrown all the way up to JChannel.send(). If we use RSVP_NB, this will be ignored.
Max time in milliseconds to block for an RSVP'ed message (0 blocks forever).
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Size of the set to store received seqnos (for duplicate checking)
Enables ergonomics: dynamically find the best values for properties at runtime
If true, all messages in the forward-table are sent to the new coord, else thye're dropped (https://issues.redhat.com/browse/JGRP-2268)
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Number of acks needed before going from ack-mode to normal mode. 0 disables this, which means that ack-mode is always on
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-address
The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_range
The max number of elements in a bundler if the bundler supports size limitations
When the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765)
Max interval (millis) at which the queued messages are sent
The maximum number of messages per batch
Maximum number of bytes for messages to be queued until they are sent
Max number of threads in thread pool
Number of spins before a real lock is acquired
Time (microseconds) to wait on poll() from the down_queue. A value of <= 0 doesn't wait
The capacity of the remove queue
The type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementation
Bind address for diagnostic probing, to bind the TCP socket. Used when enable_tcp is true
Comma delimited list of interfaces (IP addrs or interface names) that the multicast socket should bind to
Use a TCP socket to listen for probe requests (ignored if diag.enabled is false)
Use a multicast socket to listen for probe requests (ignored if diag.enabled is false)
Switch to enable diagnostic probing
Multicast address for diagnostic probing (UDP MulticastSocket). Used when enable_udp is true
Authorization passcode for diagnostics. If specified every probe query will be authorized
Port for diagnostic probing. Default is 7500
The number of ports to be probed for an available port (TCP)
TTL of the diagnostics multicast socket
Enables ergonomics: dynamically find the best values for properties at runtime
Use "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.
Used to map the internal port (bind_port) to an external port. Only used if > 0
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
The fully qualified name of a class implementing LocalTransport
whether or not warnings about messages from different groups are logged
whether or not warnings about messages from members with a different version are discarded
Time (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)
Max number of elements in the logical address cache before eviction starts
Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.
Whether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warning
Loop back the message on a separate thread or use the current thread. Don't use this; might get removed without warning
The fully qualified name of a class implementing MessageProcessingPolicy
The fully qualified name of a MessageFactory implementation
The range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if taken
Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts on
If true, the transport should use all available interfaces to receive multicast messages
Determines whether to collect statistics (and expose them via JMX). Default is true
Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Time during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Thread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"
Added to the view size when the pool is increased dynamically
Whether or not the thread pool is enabled. If false, tasks will be run on the caller's thread
Increases max_threads by the view size + delta if enabled (https://issues.redhat.com/browse/JGRP-2655)
Timeout (ms) to remove idle threads from the pool
Maximum thread pool size for the thread pool
Minimum thread pool size for the thread pool
The rejection policy to be used in the thread pool (abort, discard, run, custom etc. See Util.parseRejectionPolicy() for details
Path to which the thread dump will be written. Ignored if null
The number of times a thread pool needs to be full before a thread dump is logged
Interval (in ms) at which the time service updates its timestamp. 0 disables the time service
If true, create virtual threads, otherwise create native threads
Timeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apart
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Return from the discovery phase as soon as we have 1 coordinator response
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Reorder down messages and message batches
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
max number of messages before we reorder queued messages and send them up
max time (in millis) before we pass the reordered messages up or down
Determines whether to collect statistics (and expose them via JMX). Default is true
Reorder up messages and message batches
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Print sent messages
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Print received messages
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The attributes to be fetched. In probe format ('jmx' or 'op' command)
The configuration file containing all protocols and attributes to be dumped
Enables ergonomics: dynamically find the best values for properties at runtime
File to which the periodic data is written
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Interval in ms at which the attributes are fetched and written to the file
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Bind address for the server or client socket. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACK
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Location of the keystore
Password to access the keystore
The type of the keystore. Types are listed in http://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html
logger level (see javadocs)
The port at which the key server is listening. If the port is not available, the next port will be probed, up to port+port_range. Used by the key server (server) to create an SSLServerSocket and by clients to connect to the key server.
The port range to probe
Minimum time (in ms) before reloading the keystore and truststore from disk.
If enabled, clients are authenticated as well (not just the server). Set to true to prevent rogue clients to fetch the secret group key (e.g. via man-in-the-middle attacks)
The type of secret key to be sent up the stack (converted from DH). Should be the same as the algorithm part of ASYM_ENCRYPT.sym_algorithm if ASYM_ENCRYPT is used
The argument to the session verifier
The fully qualified name of a class implementing SessionVerifier
Timeout (in ms) for a socket read. This applies for example to the initial SSL handshake, e.g. if the client connects to a non-JGroups service accidentally running on the same port
The SSL protocol to use. Defaults to TLS
The SSL security provider. Defaults to null, which will use the default JDK provider.
Determines whether to collect statistics (and expose them via JMX). Default is true
Location of the truststore. Defaults to null, which will use the keystore as a truststore.
Password to access the truststore
The type of the truststore. Types are listed in http://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The bind address which should be used by the server socket. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACK
If set, then endpoint will be set to this address
Enables ergonomics: dynamically find the best values for properties at runtime
If set to false, then a destination of /a/b match /a/b/c, a/b/d, a/b/c/d etc
Forward received messages which don't have a StompHeader to clients
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Port on which the STOMP protocol listens for requests
If true, information such as a list of endpoints, or views, will be sent to all clients (via the INFO command). This allows for example intelligent clients to connect to a different server should a connection be closed.
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Authentication type
Authentication url
Return from the discovery phase as soon as we have 1 coordinator response
Name of the root container
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
The max number of times my own information should be written to the storage after a view change
Interval (in ms) at which the info writer should kick in
logger level (see javadocs)
The absolute path of the shared file
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
Password
If set, a shutdown hook is registered with the JVM to remove the local address from the store. Default is true
If true, on a view change, the new coordinator removes all data except its own
If true, on a view change, the new coordinator removes files from old coordinators
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
Openstack Keystone tenant name
Change the backend store when the view changes. If off, then the file is only changed on joins, but not on leaves. Enabling this will increase traffic to the backend store.
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
Username
When a non-initial discovery is run, and InfoWriter is not running, write the data to disk (if true). JIRA: https://issues.redhat.com/browse/JGRP-2288
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Alias used for recovering the key. Change the default
Cipher engine transformation for asymmetric algorithm. Default is RSA
Initial public/private key length. Default is 2048
Number of ciphers in the pool to parallelize encrypt and decrypt requests
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Max number of keys in key_map
Password for recovering the key. Change the default
File on classpath that contains keystore repository
The type of the keystore. Types are listed in http://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html
logger level (see javadocs)
Cryptographic Service Provider
Determines whether to collect statistics (and expose them via JMX). Default is true
Password used to check the integrity/unlock the keystore. Change the default
Cipher engine transformation for symmetric algorithm. Default is AES
Initialization vector length for symmetric encryption. A value must be specified here if the configured sym_algorithm requires an initialization vector.
Initial key length for matching symmetric algorithm. Default is 128
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-address
The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_range
Size of the buffer of the BufferedInputStream in TcpConnection. A read always tries to read ahead as much data as possible into the buffer. 0: default size
Size of the buffer of the BufferedOutputStream in TcpConnection. Smaller messages are buffered until this size is exceeded or flush() is called. Bigger messages are sent immediately. 0: default size
The max number of elements in a bundler if the bundler supports size limitations
When the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765)
Max interval (millis) at which the queued messages are sent
The maximum number of messages per batch
Maximum number of bytes for messages to be queued until they are sent
Max number of threads in thread pool
Number of spins before a real lock is acquired
Time (microseconds) to wait on poll() from the down_queue. A value of <= 0 doesn't wait
The capacity of the remove queue
The type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementation
Bind address for diagnostic probing, to bind the TCP socket. Used when enable_tcp is true
Comma delimited list of interfaces (IP addrs or interface names) that the multicast socket should bind to
Use a TCP socket to listen for probe requests (ignored if diag.enabled is false)
Use a multicast socket to listen for probe requests (ignored if diag.enabled is false)
Switch to enable diagnostic probing
Multicast address for diagnostic probing (UDP MulticastSocket). Used when enable_udp is true
Authorization passcode for diagnostics. If specified every probe query will be authorized
Port for diagnostic probing. Default is 7500
The number of ports to be probed for an available port (TCP)
TTL of the diagnostics multicast socket
Enables ergonomics: dynamically find the best values for properties at runtime
Use "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.
Used to map the internal port (bind_port) to an external port. Only used if > 0
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
The fully qualified name of a class implementing LocalTransport
whether or not warnings about messages from different groups are logged
whether or not warnings about messages from members with a different version are discarded
Time (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)
Max number of elements in the logical address cache before eviction starts
Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.
Whether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warning
Loop back the message on a separate thread or use the current thread. Don't use this; might get removed without warning
The fully qualified name of a class implementing MessageProcessingPolicy
The fully qualified name of a MessageFactory implementation
The range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if taken
Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts on
If true, the transport should use all available interfaces to receive multicast messages
size in bytes of TCP receiver window
size in bytes of TCP send window
Determines whether to collect statistics (and expose them via JMX). Default is true
Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Time during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Thread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"
Added to the view size when the pool is increased dynamically
Whether or not the thread pool is enabled. If false, tasks will be run on the caller's thread
Increases max_threads by the view size + delta if enabled (https://issues.redhat.com/browse/JGRP-2655)
Timeout (ms) to remove idle threads from the pool
Maximum thread pool size for the thread pool
Minimum thread pool size for the thread pool
The rejection policy to be used in the thread pool (abort, discard, run, custom etc. See Util.parseRejectionPolicy() for details
Path to which the thread dump will be written. Ignored if null
The number of times a thread pool needs to be full before a thread dump is logged
Interval (in ms) at which the time service updates its timestamp. 0 disables the time service
If true, create virtual threads, otherwise create native threads
Timeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apart
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-address
The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_range
Size of the buffer of the BufferedInputStream in TcpConnection. A read always tries to read ahead as much data as possible into the buffer. 0: default size
Size of the buffer of the BufferedOutputStream in TcpConnection. Smaller messages are buffered until this size is exceeded or flush() is called. Bigger messages are sent immediately. 0: default size
The max number of elements in a bundler if the bundler supports size limitations
When the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765)
Max interval (millis) at which the queued messages are sent
The maximum number of messages per batch
Maximum number of bytes for messages to be queued until they are sent
Max number of threads in thread pool
Number of spins before a real lock is acquired
Time (microseconds) to wait on poll() from the down_queue. A value of <= 0 doesn't wait
The capacity of the remove queue
The type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementation
The address of a local network interface which should be used by client sockets to bind to. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACK
The local port a client socket should bind to. If 0, an ephemeral port will be picked.
Max time connection can be idle before being reaped (in ms)
If true, client sockets will not explicitly bind to bind_addr but will defer to the native socket
Bind address for diagnostic probing, to bind the TCP socket. Used when enable_tcp is true
Comma delimited list of interfaces (IP addrs or interface names) that the multicast socket should bind to
Use a TCP socket to listen for probe requests (ignored if diag.enabled is false)
Use a multicast socket to listen for probe requests (ignored if diag.enabled is false)
Switch to enable diagnostic probing
Multicast address for diagnostic probing (UDP MulticastSocket). Used when enable_udp is true
Authorization passcode for diagnostics. If specified every probe query will be authorized
Port for diagnostic probing. Default is 7500
The number of ports to be probed for an available port (TCP)
TTL of the diagnostics multicast socket
Enables ergonomics: dynamically find the best values for properties at runtime
Use "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.
Used to map the internal port (bind_port) to an external port. Only used if > 0
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
SO_LINGER in seconds. Default of -1 disables it
The fully qualified name of a class implementing LocalTransport
Log a warning (or not) when ServerSocket.accept() throws an exception
Log a stack trace when a connection is closed
whether or not warnings about messages from different groups are logged
whether or not warnings about messages from members with a different version are discarded
Time (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)
Max number of elements in the logical address cache before eviction starts
Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.
Whether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warning
Loop back the message on a separate thread or use the current thread. Don't use this; might get removed without warning
The max number of bytes a message can have. If greater, an exception will be thrown. 0 disables this
when sending and non_blocking, how many messages to queue max
The fully qualified name of a class implementing MessageProcessingPolicy
The fully qualified name of a MessageFactory implementation
use bounded queues for sending (https://issues.redhat.com/browse/JGRP-2759)
Max time to block on reading of peer address
The range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if taken
Reaper interval in msec. Default is 0 (no reaping)
Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts on
If true, the transport should use all available interfaces to receive multicast messages
Receiver buffer size in bytes
Send buffer size in bytes
Max time allowed for a socket creation in connection table
Determines whether to collect statistics (and expose them via JMX). Default is true
Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Time during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Should TCP no delay flag be turned on
Thread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"
Added to the view size when the pool is increased dynamically
Whether or not the thread pool is enabled. If false, tasks will be run on the caller's thread
Increases max_threads by the view size + delta if enabled (https://issues.redhat.com/browse/JGRP-2655)
Timeout (ms) to remove idle threads from the pool
Maximum thread pool size for the thread pool
Minimum thread pool size for the thread pool
The rejection policy to be used in the thread pool (abort, discard, run, custom etc. See Util.parseRejectionPolicy() for details
Path to which the thread dump will be written. Ignored if null
The number of times a thread pool needs to be full before a thread dump is logged
Interval (in ms) at which the time service updates its timestamp. 0 disables the time service
The list of cipher suites
Defines whether client certificate authentication is required. Legal values are NONE, WANT or NEED
Enables TLS; when true, SSL sockets will be used instead of regular sockets
Alias used for fetching the key
Keystore password
Fully qualified path to the keystore
The type of the keystore
One or more TLS protocol names to use, e.g. TLSv1.3. Setting this requires configuring key and trust stores
The security provider. Defaults to null, which will use the default JDK provider
A list of regular expression that servers use to match and accept SNI host names
The password of the truststore
Fully qualified path to the truststore
The type of the truststore
Wait for an ack from the server when a connection is established (https://issues.redhat.com/browse/JGRP-2684)
If true, create virtual threads, otherwise create native threads
Timeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apart
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Return from the discovery phase as soon as we have 1 coordinator response
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Comma delimited list of hosts to be contacted for initial membership
logger level (see javadocs)
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
Interval (ms) by which a disconnected stub attempts to reconnect to the GossipRouter
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
Max time for socket creation. Default is 1000 ms
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
Whether to use blocking (false) or non-blocking (true) connections. If GossipRouter is used, this needs to be false; if GossipRouterNio is used, it needs to be true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Return from the discovery phase as soon as we have 1 coordinator response
Expiry time of discovery responses in ms
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Comma delimited list of hosts to be contacted for initial membership. Ideally, all members should be listed. If this is not possible, send_cache_on_join and / or return_entire_cache can be set to true
logger level (see javadocs)
max number of hosts to keep beyond the ones in initial_hosts
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
Number of additional ports to be probed for membership. A port_range of 0 does not probe additional ports. Example: initial_hosts=A[7800] port_range=0 probes A:7800, port_range=1 probes A:7800 and A:7801
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-address
The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_range
The max number of elements in a bundler if the bundler supports size limitations
When the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765)
Max interval (millis) at which the queued messages are sent
The maximum number of messages per batch
Maximum number of bytes for messages to be queued until they are sent
Max number of threads in thread pool
Number of spins before a real lock is acquired
Time (microseconds) to wait on poll() from the down_queue. A value of <= 0 doesn't wait
The capacity of the remove queue
The type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementation
The address of a local network interface which should be used by client sockets to bind to. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACK
The local port a client socket should bind to. If 0, an ephemeral port will be picked.
Max time connection can be idle before being reaped (in ms)
If true, a partial write will make a copy of the data so a buffer can be reused
If true, client sockets will not explicitly bind to bind_addr but will defer to the native socket
Bind address for diagnostic probing, to bind the TCP socket. Used when enable_tcp is true
Comma delimited list of interfaces (IP addrs or interface names) that the multicast socket should bind to
Use a TCP socket to listen for probe requests (ignored if diag.enabled is false)
Use a multicast socket to listen for probe requests (ignored if diag.enabled is false)
Switch to enable diagnostic probing
Multicast address for diagnostic probing (UDP MulticastSocket). Used when enable_udp is true
Authorization passcode for diagnostics. If specified every probe query will be authorized
Port for diagnostic probing. Default is 7500
The number of ports to be probed for an available port (TCP)
TTL of the diagnostics multicast socket
Enables ergonomics: dynamically find the best values for properties at runtime
Use "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.
Used to map the internal port (bind_port) to an external port. Only used if > 0
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
SO_LINGER in seconds. Default of -1 disables it
The fully qualified name of a class implementing LocalTransport
Log a stack trace when a connection is closed
whether or not warnings about messages from different groups are logged
whether or not warnings about messages from members with a different version are discarded
Time (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)
Max number of elements in the logical address cache before eviction starts
Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.
Whether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warning
Loop back the message on a separate thread or use the current thread. Don't use this; might get removed without warning
The max number of bytes a message can have. If greater, an exception will be thrown. 0 disables this
The max number of outgoing messages that can get queued for a given peer connection (before dropping them). Most messages will get retransmitted; this is mainly used at startup, e.g. to prevent dropped discovery requests or responses (sent unreliably, without retransmission).
The fully qualified name of a class implementing MessageProcessingPolicy
The fully qualified name of a MessageFactory implementation
Max time to block on reading of peer address
The range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if taken
Number of ms a reader thread on a given connection can be idle (not receiving any messages) until it terminates. New messages will start a new reader
Reaper interval in msec. Default is 0 (no reaping)
Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts on
If true, the transport should use all available interfaces to receive multicast messages
Receiver buffer size in bytes
Send buffer size in bytes
Max time allowed for a socket creation in connection table
Determines whether to collect statistics (and expose them via JMX). Default is true
Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Time during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Should TCP no delay flag be turned on
Thread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"
Added to the view size when the pool is increased dynamically
Whether or not the thread pool is enabled. If false, tasks will be run on the caller's thread
Increases max_threads by the view size + delta if enabled (https://issues.redhat.com/browse/JGRP-2655)
Timeout (ms) to remove idle threads from the pool
Maximum thread pool size for the thread pool
Minimum thread pool size for the thread pool
The rejection policy to be used in the thread pool (abort, discard, run, custom etc. See Util.parseRejectionPolicy() for details
Path to which the thread dump will be written. Ignored if null
The number of times a thread pool needs to be full before a thread dump is logged
Interval (in ms) at which the time service updates its timestamp. 0 disables the time service
Wait for an ack from the server when a connection is established (https://issues.redhat.com/browse/JGRP-2684)
If true, create virtual threads, otherwise create native threads
Timeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apart
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables the average for down threads
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Enables the average for up threads
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables or disables measuring times of messages sent down
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Enables or disables measuring times of message batches received from below
Enables or disables measuring times of messages received from below. Attribute up_batches has to be true, or else up_msgs will be ignored
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-address
The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_range
The max number of elements in a bundler if the bundler supports size limitations
When the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765)
Max interval (millis) at which the queued messages are sent
The maximum number of messages per batch
Maximum number of bytes for messages to be queued until they are sent
Max number of threads in thread pool
Number of spins before a real lock is acquired
Time (microseconds) to wait on poll() from the down_queue. A value of <= 0 doesn't wait
The capacity of the remove queue
The type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementation
Bind address for diagnostic probing, to bind the TCP socket. Used when enable_tcp is true
Comma delimited list of interfaces (IP addrs or interface names) that the multicast socket should bind to
Use a TCP socket to listen for probe requests (ignored if diag.enabled is false)
Use a multicast socket to listen for probe requests (ignored if diag.enabled is false)
Switch to enable diagnostic probing
Multicast address for diagnostic probing (UDP MulticastSocket). Used when enable_udp is true
Authorization passcode for diagnostics. If specified every probe query will be authorized
Port for diagnostic probing. Default is 7500
The number of ports to be probed for an available port (TCP)
TTL of the diagnostics multicast socket
Enables ergonomics: dynamically find the best values for properties at runtime
Use "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.
Used to map the internal port (bind_port) to an external port. Only used if > 0
A comma-separated list of GossipRouter hosts, e.g. HostA[12001],HostB[12001]
Sends a heartbeat to the GossipRouter every heartbeat_interval ms (0 disables this)
Max time (ms) with no received message or heartbeat after which the connection to a GossipRouter is closed. Ignored when heartbeat_interval is 0.
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
SO_LINGER in seconds. Default of -1 disables it
The fully qualified name of a class implementing LocalTransport
whether or not warnings about messages from different groups are logged
whether or not warnings about messages from members with a different version are discarded
Time (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)
Max number of elements in the logical address cache before eviction starts
Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.
Whether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warning
Loop back the message on a separate thread or use the current thread. Don't use this; might get removed without warning
when sending and non_blocking, how many messages to queue max
The fully qualified name of a class implementing MessageProcessingPolicy
The fully qualified name of a MessageFactory implementation
use bounded queues for sending (https://issues.redhat.com/browse/JGRP-2759)
The range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if taken
Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts on
If true, the transport should use all available interfaces to receive multicast messages
Interval in msec to attempt connecting back to router in case of torn connection
Determines whether to collect statistics (and expose them via JMX). Default is true
Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Time during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Should TCP no delay flag be turned on
Thread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"
Added to the view size when the pool is increased dynamically
Whether or not the thread pool is enabled. If false, tasks will be run on the caller's thread
Increases max_threads by the view size + delta if enabled (https://issues.redhat.com/browse/JGRP-2655)
Timeout (ms) to remove idle threads from the pool
Maximum thread pool size for the thread pool
Minimum thread pool size for the thread pool
The rejection policy to be used in the thread pool (abort, discard, run, custom etc. See Util.parseRejectionPolicy() for details
Path to which the thread dump will be written. Ignored if null
The number of times a thread pool needs to be full before a thread dump is logged
Interval (in ms) at which the time service updates its timestamp. 0 disables the time service
The list of cipher suites
Defines whether client certificate authentication is required. Legal values are NONE, WANT or NEED
Enables TLS; when true, SSL sockets will be used instead of regular sockets
Alias used for fetching the key
Keystore password
Fully qualified path to the keystore
The type of the keystore
One or more TLS protocol names to use, e.g. TLSv1.3. Setting this requires configuring key and trust stores
The security provider. Defaults to null, which will use the default JDK provider
A list of regular expression that servers use to match and accept SNI host names
The password of the truststore
Fully qualified path to the truststore
The type of the truststore
Whether to use blocking (false) or non-blocking (true) connections. If GossipRouter is used, this needs to be false; if GossipRouterNio is used, it needs to be true
If true, create virtual threads, otherwise create native threads
Timeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apart
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The bind address which should be used by this transport. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL, NON_LOOPBACK, match-interface, match-host, match-address
The port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_range
The max number of elements in a bundler if the bundler supports size limitations
When the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765)
Max interval (millis) at which the queued messages are sent
The maximum number of messages per batch
Maximum number of bytes for messages to be queued until they are sent
Max number of threads in thread pool
Number of spins before a real lock is acquired
Time (microseconds) to wait on poll() from the down_queue. A value of <= 0 doesn't wait
The capacity of the remove queue
The type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementation
Bind address for diagnostic probing, to bind the TCP socket. Used when enable_tcp is true
Comma delimited list of interfaces (IP addrs or interface names) that the multicast socket should bind to
Use a TCP socket to listen for probe requests (ignored if diag.enabled is false)
Use a multicast socket to listen for probe requests (ignored if diag.enabled is false)
Switch to enable diagnostic probing
Multicast address for diagnostic probing (UDP MulticastSocket). Used when enable_udp is true
Authorization passcode for diagnostics. If specified every probe query will be authorized
Port for diagnostic probing. Default is 7500
The number of ports to be probed for an available port (TCP)
TTL of the diagnostics multicast socket
If true, disables IP_MULTICAST_LOOP on the MulticastSocket (for sending and receiving of multicast packets). IP multicast packets send on a host P will therefore not be received by anyone on P. Use with caution.
Enables ergonomics: dynamically find the best values for properties at runtime
Use "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.
Used to map the internal port (bind_port) to an external port. Only used if > 0
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Multicast toggle. If false multiple unicast datagrams are sent instead of one multicast. Default is true
The time-to-live (TTL) for multicast datagram packets. Default is 8
logger level (see javadocs)
The fully qualified name of a class implementing LocalTransport
whether or not warnings about messages from different groups are logged
whether or not warnings about messages from members with a different version are discarded
Time (in ms) after which entries in the logical address cache marked as removable can be removed. 0 never removes any entries (not recommended)
Max number of elements in the logical address cache before eviction starts
Interval (in ms) at which the reaper task scans logical_addr_cache and removes entries marked as removable. 0 disables reaping.
Whether or not to make a copy of a message before looping it back up. Don't use this; might get removed without warning
Loop back the message on a separate thread or use the current thread. Don't use this; might get removed without warning
The multicast address used for sending and receiving packets
The multicast port used for sending and receiving packets. Default is 7600
Number of multicast receiver threads, all reading from the same MulticastSocket. If de-serialization is slow, increasing the number of receiver threads might yield better performance.
Receive buffer size of the multicast datagram socket
Send buffer size of the multicast datagram socket
The fully qualified name of a class implementing MessageProcessingPolicy
The fully qualified name of a MessageFactory implementation
The range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if taken
Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts on
If true, the transport should use all available interfaces to receive multicast messages
Determines whether to collect statistics (and expose them via JMX). Default is true
Time during which identical warnings about messages from a member from a different cluster will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Time during which identical warnings about messages from a member with a different version will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Suppresses warnings on Mac OS (for now) about not enough buffer space when sending a datagram packet
Thread naming pattern for threads in this channel. Valid values are "pcl": "p": includes the thread name, e.g. "Incoming thread-1", "UDP ucast receiver", "c": includes the cluster name, e.g. "MyCluster", "l": includes the local address of the current member, e.g. "192.168.5.1:5678"
Added to the view size when the pool is increased dynamically
Whether or not the thread pool is enabled. If false, tasks will be run on the caller's thread
Increases max_threads by the view size + delta if enabled (https://issues.redhat.com/browse/JGRP-2655)
Timeout (ms) to remove idle threads from the pool
Maximum thread pool size for the thread pool
Minimum thread pool size for the thread pool
The rejection policy to be used in the thread pool (abort, discard, run, custom etc. See Util.parseRejectionPolicy() for details
Path to which the thread dump will be written. Ignored if null
The number of times a thread pool needs to be full before a thread dump is logged
Interval (in ms) at which the time service updates its timestamp. 0 disables the time service
Traffic class for sending unicast and multicast datagrams
Number of unicast receiver threads, all reading from the same DatagramSocket. If de-serialization is slow, increasing the number of receiver threads might yield better performance.
Receive buffer size of the unicast datagram socket
Send buffer size of the unicast datagram socket
If true, create virtual threads, otherwise create native threads
Timeout (in ms) to determine how long to wait until a request to fetch the physical address for a given logical address will be sent again. Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apart
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max time (in ms) to block
Max number of bytes to send per receiver until an ack must be received to proceed
Computed as max_credits x min_theshold unless explicitly set
The threshold (as a percentage of max_credits) at which a receiver sends more credits to a sender. Example: if max_credits is 1'000'000, and min_threshold 0.25, then we send ca. 250'000 credits to P once we've got only 250'000 credits left for P (we've received 750'000 bytes from P)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max time (in ms) to block
Max number of bytes to send per receiver until an ack must be received to proceed
Max number of bytes of all queued messages for a given destination. If a given destination has no credits left and the message cannot be added to the queue because it is full, then the sender thread will be blocked until there is again space available in the queue, or the protocol is stopped.
Computed as max_credits x min_theshold unless explicitly set
The threshold (as a percentage of max_credits) at which a receiver sends more credits to a sender. Example: if max_credits is 1'000'000, and min_threshold 0.25, then we send ca. 250'000 credits to P once we've got only 250'000 credits left for P (we've received 750'000 bytes from P)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If enabled, message batches are passed up as single messages, otherwise as batches
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Send an ack immediately when a batch of ack_threshold (or more) messages is received. Otherwise send delayed acks. If 1, ack single messages (similar to UNICAST)
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Time (in ms) until a connection marked to be closed will get removed. 0 disables this
Time (in milliseconds) after which an idle incoming or outgoing connection is closed. The connection will get re-established when used again. 0 disables connection reaping. Note that this creates lingering connection entries, which increases memory over time.
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
If true, trashes warnings about retransmission messages not found in the xmit_table (used for testing)
If true, a unicast message to self is looped back up on the same thread. Noter that this may cause problems (e.g. deadlocks) in some applications, so make sure that your code can handle this. Issue: https://issues.redhat.com/browse/JGRP-2547
The max size of a message batch when delivering messages. 0 is unbounded
Max number of milliseconds we try to retransmit a message to any given member. After that, the connection is removed. Any new connection to that member will start with seqno #1 again. 0 disables this
Max number of messages to ask for in a retransmit request. 0 disables this and uses the max bundle size in the transport
Determines whether to collect statistics (and expose them via JMX). Default is true
Min time (in ms) to elapse for successive SEND_FIRST_SEQNO messages to be sent to the same sender
Interval (in milliseconds) at which messages in the send windows are resent
Number of milliseconds after which the matrix in the retransmission table is compacted (only for experts)
Number of elements of a row of the matrix in the retransmission table; gets rounded to the next power of 2 (only for experts). The capacity of the matrix is xmit_table_num_rows * xmit_table_msgs_per_row
Number of rows of the matrix in the retransmission table (only for experts)
Resize factor of the matrix in the retransmission table (only for experts)
When true, the sender retransmits messages until ack'ed and the receiver asks for missing messages. When false, this is not done, but ack'ing and stale connection testing is still done. https://issues.redhat.com/browse/JGRP-2676
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Interface for ICMP pings. Used if use_icmp is true The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACK
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Number of verify heartbeats sent to a suspected member
Determines whether to collect statistics (and expose them via JMX). Default is true
Number of millisecs to wait for a response from a suspected member
Use InetAddress.isReachable() to verify suspected member instead of regular messages
Send the I_AM_NOT_DEAD message back as a multicast rather than as multiple unicasts (default is false)
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Number of verify heartbeats sent to a suspected member
Determines whether to collect statistics (and expose them via JMX). Default is true
Number of millis to wait for verification that a suspect is really dead (approximation)
Send the I_AM_NOT_DEAD message back as a multicast rather than as multiple unicasts (default is false)
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
When set, FLUSH is bypassed, same effect as if FLUSH wasn't in the config at all
Reconciliation phase toggle. Default is true
Timeout to wait for UNBLOCK after STOP_FLUSH is issued. Default is 2000 msec
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Retry timeout after an unsuccessful attempt to quiet the cluster (first flush phase).Default is 3000 msec
Timeout (per atttempt) to quiet the cluster during the first flush phase. Default is 2000 msec
Determines whether to collect statistics (and expose them via JMX). Default is true
Max time to keep channel blocked in flush. Default is 8000 msec
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Time (in ms) to wait for another discovery round when all discovery responses were clients. A timeout of 0 means don't wait at all.
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
Join timeout
Max time (in ms) to wait for a LEAVE response after a LEAVE req has been sent to the coord
logger level (see javadocs)
Logs failures for collecting all view acks if true
Logs warnings for reception of views less than the current, and for views which don't include self
Number of join attempts before we give up and become a singleton. 0 means 'never give up'
Number of times a LEAVE request is sent to the coordinator (without receiving a LEAVE response, before giving up and leaving anyway (failure detection will eventually exclude the left member). A value of 0 means wait forever
The fully qualified name of a class implementing MembershipChangePolicy.
Timeout (in ms) to complete merge
Max number of old members to keep in history. Default is 50
Number of views to store in history
Print local address of this member after connect. Default is true
Print physical address(es) on startup
When true, left and joined members are printed in addition to the view
Determines whether to collect statistics (and expose them via JMX). Default is true
If true, then GMS is allowed to send VIEW messages with delta views, otherwise it always sends full views. See https://issues.redhat.com/browse/JGRP-1354 for details.
Use flush for view changes. Default is true
Time in ms to wait for all VIEW acks (0 == wait forever. Default is 2000 msec
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Size of the queue to hold messages received after creating the channel, but before being connected (is_server=false). After becoming the server, the messages in the queue are fed into up() and the queue is cleared. The motivation is to avoid retransmissions (see https://issues.redhat.com/browse/JGRP-1509 for details).
Should messages delivered to application be discarded
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
discards warnings about promiscuous traffic
If false, trashes warnings about retransmission messages not found in the xmit_table (used for testing)
The max size of a message batch when delivering messages. 0 is unbounded
Timeout to rebroadcast messages. Default is 2000 msec
Max number of messages to ask for in a retransmit request. 0 disables this and uses the max bundle size in the transport
If enabled, multicasts the highest sent seqno every xmit_interval ms. This is skipped if a regular message has been multicast, and the task aquiesces if the highest sent seqno hasn't changed for resend_last_seqno_max_times times. Used to speed up retransmission of dropped last messages (JGRP-1904)
Max number of times the last seqno is resent before acquiescing if last seqno isn't incremented
Determines whether to collect statistics (and expose them via JMX). Default is true
Time during which identical warnings about messages from a non member will be suppressed. 0 disables this (every warning will be logged). Setting the log level to ERROR also disables this.
Retransmit retransmit responses (messages) using multicast rather than unicast
Use a multicast to request retransmission of missing messages
Ask a random member for retransmission of a missing message. Default is false
Interval (in milliseconds) at which missing messages (from all retransmit buffers) are retransmitted. 0 turns retransmission off
Number of milliseconds after which the matrix in the retransmission table is compacted (only for experts)
Number of elements of a row of the matrix in the retransmission table; gets rounded to the next power of 2 (only for experts). The capacity of the matrix is xmit_table_num_rows * xmit_table_msgs_per_row
Number of rows of the matrix in the retransmission table (only for experts)
Resize factor of the matrix in the retransmission table (only for experts)
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Average time to send a STABLE message
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Maximum number of bytes received in all messages before sending a STABLE message is triggered
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Size (in bytes) of the state transfer buffer
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Maximum number of pool threads serving state requests
Keep alive for pool threads serving state requests
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
The interface (NIC) used to accept state requests. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACK
The interface (NIC) which should be used by this transport
The port listening for state requests. Default value of 0 binds to any (ephemeral) port
Size (in bytes) of the state transfer buffer
Enables ergonomics: dynamically find the best values for properties at runtime
Use "external_addr" if you have hosts on different networks, behind firewalls. On each firewall, set up a port forwarding rule (sometimes called "virtual server") to the local IP (e.g. 192.168.1.100) of the host then on each host, set "external_addr" TCP transport parameter to the external (public IP) address of the firewall.
Used to map the internal port (bind_port) to an external port. Only used if > 0
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Maximum number of pool threads serving state requests
Keep alive for pool threads serving state requests
The size (in bytes) of the receive buffer of the socket
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Determines whether to collect statistics (and expose them via JMX). Default is true
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true, the creation of the relay channel (and the connect()) are done in the background. Async relay creation is recommended, so the view callback won't be blocked
Whether or not this node can become the site master. If false, and we become the coordinator, we won't start the bridge(s)
If true, a site master forwards messages received from other sites to randomly chosen members of the local site for load balancing, reducing work for itself
Name of the relay configuration
When a site master goes down, delay the sitesDown() callback if we have multiple members; we know that another member will become site master (https://issues.redhat.com/browse/JGRP-2708)
Whether or not we generate our own addresses in which we use can_become_site_master. If this property is false, can_become_site_master is ignored
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Maximum number of site masters. Setting this to a value greater than 1 means that we can have multiple site masters. If the value is greater than the number of cluster nodes, everyone in the site will be a site master (and thus join the global cluster
Whether or not to relay multicast (dest=null) messages
Name of the site; must be defined in the configuration
Fully qualified name of a class implementing SiteMasterPicker
Ratio of members that are site masters, out of range [0..1] (0 disables this). The number of site masters is computes as Math.min(max_site_masters, view.size() * site_masters_ratio). See https://issues.redhat.com/browse/JGRP-2581 for details
Determines whether to collect statistics (and expose them via JMX). Default is true
Time during which identical errors about no route to host will be suppressed. 0 disables this (every error will be logged).
When true, members joining or leaving any site in the network are triggering the view handler callback
Number of millis to wait for topology detection
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true, the creation of the relay channel (and the connect()) are done in the background. Async relay creation is recommended, so the view callback won't be blocked
Whether or not this node can become the site master. If false, and we become the coordinator, we won't start the bridge(s)
Name of the relay configuration
Number of millis by which SITE_UNREACHABLE events are delayed; see RelayTest.testFailover() for details
When a site master goes down, delay the sitesDown() callback if we have multiple members; we know that another member will become site master (https://issues.redhat.com/browse/JGRP-2708)
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Maximum number of site masters. Setting this to a value greater than 1 means that we can have multiple site masters. If the value is greater than the number of cluster nodes, everyone in the site will be a site master (and thus join the global cluster
Name of the site; must be defined in the configuration
Fully qualified name of a class implementing SiteMasterPicker
Ratio of members that are site masters, out of range [0..1] (0 disables this). The number of site masters is computes as Math.min(max_site_masters, view.size() * site_masters_ratio). See https://issues.redhat.com/browse/JGRP-2581 for details
Determines whether to collect statistics (and expose them via JMX). Default is true
Time during which identical errors about no route to host will be suppressed. 0 disables this (every error will be logged).
When true, members joining or leaving any site in the network are triggering the view handler callback
Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())
If true then the discovery is done on a separate timer thread. Should be set to true when discovery is blocking and/or takes more than a few milliseconds
If enabled, use a separate thread for every discovery request. Can be used with or without async_discovery
Return from the discovery phase as soon as we have 1 coordinator response
Expiry time of discovery responses in ms
DNS Address. This property will be assembled with the 'dns://' prefix. If this is specified, A records will be resolved through DnsContext.
DNS Context Factory. Used when DNS_PING is configured to use SRV record types and when using A types with a specific dns_address.
A comma-separated list of DNS queries for fetching members
DNS Record type
Enables ergonomics: dynamically find the best values for properties at runtime
Give the protocol a different ID if needed so we can have multiple instances of it in the same stack
logger level (see javadocs)
Max size of the member list shipped with a discovery request. If we have more, the mbrs field in the discovery request header is nulled and members return the entire membership, not individual members
The max rank of this member to respond to discovery requests, e.g. if max_rank_to_reply=2 in {A,B,C,D,E}, only A (rank 1) and B (rank 2) will reply. A value <= 0 means everybody will reply. This attribute is ignored if TP.use_ip_addrs is false.
The number of times a discovery process is executed when finding initial members (https://issues.redhat.com/browse/JGRP-2317)
For SRV records returned by the DNS query, the non-0 ports returned by DNS areused. If this attribute is true, then the transport ports will also be used. Ignored for A records.
Whether or not to return the entire logical-physical address cache mappings on a discovery request, or not.
When a new node joins, and we have a static discovery protocol (TCPPING), then send the contents of the discovery cache to new and existing members if true (and we're the coord). Addresses JGRP-1903
If greater than 0, we'll wait a random number of milliseconds in range [0..stagger_timeout] before sending a discovery response. This prevents traffic spikes in large clusters when everyone sends their discovery response at the same time
Determines whether to collect statistics (and expose them via JMX). Default is true
If a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results
The definition of the bridges of a giben site. Bridges contain the configuration of bridge
cluster and its name. All endpoints (site masters) will join this bridge.
Manual definition of additional routes to be added to the routing table. 'To' defines the target
site (e.g. 'net.*') and 'gateway' the site to forward a message to any site starting with 'net'
to. E.g. if we have sites 'hf' - 'net1' - 'net2' - 'net3', then the routing table of 'hf' could
have a forwarding entry of "net.* -> net1". This means that all messages targetting a destination
site starting with 'net' need to be forwarded to site 'net1'. A message sent from 'hf' to 'net3'
will therefore be sent to 'net1' (which has another rule to forward the message to 'net2',
which forwards it to 'net3').
The name of the bridge. This is the cluster name that all endpoints (site masters) of the
bridge will join.
The configuration of the bridge cluster. Make sure this configuration is unique, to prevent
site masters from other bridges from inadvertently joining this bridge.
The target site(s) for which to forward requests. Can be a regular expression, e.g. 'net.*'
Defines sites to which to forward requests to if the sites are not directly connected to the current site
The target site (can be a regular expression)
The gateway site to which to forwards messages with a target site of 'to'
Configuration of multiple sites