Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Interval (in ms) at which a sent msg is resentDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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 RSAInitial public/private key length. Default is 2048Change 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 eavesdroppingNumber of ciphers in the pool to parallelize encrypt and decrypt requestsIf true, the entire message (including payload and headers) is encrypted, else only the payloadEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackMax number of keys in key_maplogger level (see javadocs)Cryptographic Service ProviderIf true, all messages are digitally signed by adding an encrypted checksum of the encrypted message to the header. Ignored if encrypt_entire_message is falseDetermines whether to collect statistics (and expose them via JMX). Default is trueCipher engine transformation for symmetric algorithm. Default is AESInitialization 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 128When sign_msgs is true, by default CRC32 is used to create the checksum. If use_adler is true, Adler32 will be usedIf 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 interfaceDo join or merge responses from the coordinator also need to be authenticatedEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeMax 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 foreverGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max time barrier can be closed. Default is 60000 msDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryPort for discovery packetsReturn from the discovery phase as soon as we have 1 coordinator responseTarget address for broadcasts. This should be restricted to the local subnet, e.g. 192.168.1.255Expiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 membersThe 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.jboss.org/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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())bypasses message bundling if setEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Number of backups to the coordinator. Queue State gets replicated to these nodes as wellDetermines whether to collect statistics (and expose them via JMX). Default is trueFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())bypasses message bundling if setEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 wellDetermines whether to collect statistics (and expose them via JMX). Default is trueBy default, a lock owner is address:thread-id. If false, we only use the node's address. See https://issues.jboss.org/browse/JGRP-1886 for detailsFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())bypasses message bundling if setEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max time (im ms) to wait for lock info responses from members in a lock reconciliation phaseNumber 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 trueBy default, a lock owner is address:thread-id. If false, we only use the node's address. See https://issues.jboss.org/browse/JGRP-1886 for detailsFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)clear OOB flagsDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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 9Enables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Minimal payload size of a message (in bytes) for compression to kick in. Default is 500 bytesNumber of inflaters/deflaters for concurrent processing. Default is 2 Determines whether to collect statistics (and expose them via JMX). Default is trueFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Bypasses message bundling if trueEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Number of backup coordinators. Modifications are asynchronously sent to all backup coordinatorsNumber of milliseconds to wait for reconciliation responses from all current membersDetermines whether to collect statistics (and expose them via JMX). Default is trueRequest timeouts (in ms). If the timeout elapses, a Timeout (runtime) exception will be thrownFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Loop back multicast messagesDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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 boundEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackUpper bound of number of milliseconds to delay passing a message up the stack (exclusive)Number of nanoseconds to delay passing a message up the stacklogger 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 stackDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Prints to stdoutDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 usedThe 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 trueMax 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 keyserverFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Drops all messages (up or down) if trueNumber of subsequent multicasts to drop in the down directionNumber of subsequent unicasts to drop in the down directionEnables ergonomics: dynamically find the best values for properties at runtimeIf discard_all is true, still sends messages to selfuse a GUI or notGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Whether or not to copy multicast messagesWhether or not to copy unicast messagesEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackNumber 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 trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Number of times to send an are-you-alive messageTreat messages received from members as heartbeats. Note that this means we're updating a value in a hashmap every time a message is passing up the stack through FD, which is costly.Determines whether to collect statistics (and expose them via JMX). Default is trueTimeout to suspect a node P if neither a heartbeat nor data were received from P.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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackInterval at which a HEARTBEAT is sent to the clusterlogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueTimeout after which a node P is suspected if neither a heartbeat nor data were received from PInterval at which the HEARTBEAT timeouts are checkedUses 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackInterval at which a HEARTBEAT is sent to the clusterlogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueTimeout after which a node P is suspected if neither a heartbeat nor data were received from PFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackInterval at which a HEARTBEAT is sent to the clusterlogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueTimeout after which a node P is suspected if neither a heartbeat nor data were received from PFully 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 takeThe command used to check a given host for liveness. Example: "ping". If null, InetAddress.isReachable() will be used by defaultEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackThe interval (in ms) at which the hosts are checked for livenesslogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueMax time (in ms) after which a host is suspected if it failed all liveness checksUses 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_LOOPBACKMax age (in ms) an element marked as removed has to have until it is removedMax number of elements in the cache until deleted elements are removedStart port for client socket. Default value of 0 picks a random portEnables ergonomics: dynamically find the best values for properties at runtimeUse "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 > 0Timeout for getting socket cache from coordinatorGive the protocol a different ID if needed so we can have multiple instances of it in the same stackWhether to use KEEP_ALIVE on the ping socket or not. Default is truelogger level (see javadocs)Number of attempts coordinator is solicited for socket cache until we give upNumber of ports to probe for start_port and client_bind_portMax time in millis to wait for ping Socket.connect() to returnStart port for server socket. Default value of 0 picks a random portDetermines whether to collect statistics (and expose them via JMX). Default is trueInterval for broadcasting suspect messagesFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackThe max number of times my own information should be written to the storage after a view changeInterval (in ms) at which the info writer should kick inlogger level (see javadocs)The absolute path of the shared fileMax 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 membersThe 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.jboss.org/browse/JGRP-2317)If set, a shutdown hook is registered with the JVM to remove the local address from the store. Default is trueIf true, on a view change, the new coordinator removes all data except its ownIf true, on a view change, the new coordinator removes files from old coordinatorsWhether 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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueChange 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 resultsWhen a non-initial discovery is run, and InfoWriter is not running, write the data to disk (if true). JIRA: https://issues.jboss.org/browse/JGRP-2288Fully 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 nullEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)If enabled, state transfer events will be processed, else they will be passed upDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeThe max number of bytes in a message. Larger messages will be fragmented. Default is 8192 bytesGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeThe max number of bytes in a message. Larger messages will be fragmentedGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeThe max number of bytes in a message. Larger messages will be fragmentedGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueThe access key to AWS (S3)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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeThe name of the AWS serverGive the protocol a different ID if needed so we can have multiple instances of it in the same stackThe max number of times my own information should be written to the storage after a view changeInterval (in ms) at which the info writer should kick inlogger level (see javadocs)The absolute path of the shared fileMax 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 membersThe 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.jboss.org/browse/JGRP-2317)The port at which AWS is listeningWhen non-null, we use this pre-signed URL for DELETEsWhen non-null, we use this pre-signed URL for PUTsWhen non-null, we set location to prefix-UUIDIf set, a shutdown hook is registered with the JVM to remove the local address from the store. Default is trueIf true, on a view change, the new coordinator removes all data except its ownIf true, on a view change, the new coordinator removes files from old coordinatorsWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.The secret access key to AWS (S3)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-1903Skip the code which checks if a bucket exists in initializationIf 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueChange 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 resultsWhether or not to use SSL to connect to host:portWhen a non-initial discovery is run, and InfoWriter is not running, write the data to disk (if true). JIRA: https://issues.jboss.org/browse/JGRP-2288Fully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Enables printing of down messagesEnables printing of up (received) messagesDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseSQL to clear the tableThe JDBC connection driver nameThe JDBC connection passwordThe JDBC connection URLThe JDBC connection usernameFinds 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 StringExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackThe max number of times my own information should be written to the storage after a view changeInterval (in ms) at which the info writer should kick inIf 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 fileMax 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 membersThe 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.jboss.org/browse/JGRP-2317)If set, a shutdown hook is registered with the JVM to remove the local address from the store. Default is trueIf true, on a view change, the new coordinator removes all data except its ownIf true, on a view change, the new coordinator removes files from old coordinatorsWhether 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 properlyWhen 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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueChange 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 resultsWhen a non-initial discovery is run, and InfoWriter is not running, write the data to disk (if true). JIRA: https://issues.jboss.org/browse/JGRP-2288Fully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 membersThe 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.jboss.org/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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)handle multicast messagesTime to sleep (in ms) from the reception of the first message to sending a batch upDetermines whether to collect statistics (and expose them via JMX). Default is truehandle unicast messagesFully 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 inconsistenciesEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 messageIf true, only coordinators periodically check view consistency, otherwise everybody runs this task (https://issues.jboss.org/browse/JGRP-2092). Might get removed without notice.Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max time (in ms) to blockMax times to block for the listed messages sizes (Message.getLength()). Example: "1000:10,5000:30,10000:500"Max number of bytes to send per receiver until an ack must be received to proceedComputed as max_credits x min_theshold unless explicitly setThe 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 trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max time (in ms) to blockMax times to block for the listed messages sizes (Message.getLength()). Example: "1000:10,5000:30,10000:500"Max number of bytes to send per receiver until an ack must be received to proceedMax 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 setThe 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 trueFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryBind address for multicast socket. The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACKThe interface (NIC) which should be used by this transportReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackTime to live for discovery packets. Default is 8logger 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 membersThe 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 discoveryMulticast port for discovery packets. Default is 7555The number of times a discovery process is executed when finding initial members (https://issues.jboss.org/browse/JGRP-2317)List of interfaces to receive multicasts onIf true, the transport should use all available interfaces to receive multicast messagesWhether 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-1903List of interfaces to send multicasts onWhether send messages are sent on all interfaces. Default is falseIf 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 membersThe 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.jboss.org/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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Stagger timeout (in ms). Staggering will be a random timeout in range [0 .. stagger_timeout]Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 directoryEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Number of samples to maintain for rolling averageEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 membersThe 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.jboss.org/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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Rackspace API access keyIf 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseName of the root containerExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackThe max number of times my own information should be written to the storage after a view changeInterval (in ms) at which the info writer should kick inlogger level (see javadocs)The absolute path of the shared fileMax 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 membersThe 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.jboss.org/browse/JGRP-2317)Rackspace region, either UK or USIf set, a shutdown hook is registered with the JVM to remove the local address from the store. Default is trueIf true, on a view change, the new coordinator removes all data except its ownIf true, on a view change, the new coordinator removes files from old coordinatorsWhether 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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueChange 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 resultsRackspace usernameWhen a non-initial discovery is run, and InfoWriter is not running, write the data to disk (if true). JIRA: https://issues.jboss.org/browse/JGRP-2288Fully 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 runtimeLast N measurements to keep in historyGive the protocol a different ID if needed so we can have multiple instances of it in the same stackInterval (ms) at which to measure the accumulated trafficlogger level (see javadocs)Computes the size of a message as the payload size (false) or the serialized size (true)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 startedDetermines whether to collect statistics (and expose them via JMX). Default is trueNumber of milliseconds during which max_bytes bytes can be sentFully 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 -1Enables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The max threshold (percentage between min_threshold and 1.0) above which all messages are droppedThe min threshold (percentage between 0 and 1.0) below which no message is droppedDetermines whether to collect statistics (and expose them via JMX). Default is trueThe 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 queueu size.Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Name of the bridge clusterProperties of the bridge cluster (e.g. tcp.xml)Enables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Drops views received from below and instead generates global views and passes them up. A global view consists of the local view and the remote view, ordered by view ID. If true, no protocolwhich requires (local) views can sit on top of RELAYIf set to false, don't perform relaying. Used e.g. for backup clusters; unidirectional replication from one cluster to another, but not back. Can be changed at runtimeDescription of the local cluster, e.g. "nyc". This is added to every address, so itshould be short. This is a mandatory property and must be setDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueWhen 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 trueWhether 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).The access key to AWS (S3)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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeThe name of the AWS serverGive the protocol a different ID if needed so we can have multiple instances of it in the same stackThe max number of times my own information should be written to the storage after a view changeInterval (in ms) at which the info writer should kick inlogger level (see javadocs)The absolute path of the shared fileMax 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 membersThe 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.jboss.org/browse/JGRP-2317)The port at which AWS is listeningWhen non-null, we use this pre-signed URL for DELETEsWhen non-null, we use this pre-signed URL for PUTsWhen non-null, we set location to prefix-UUIDIf set, a shutdown hook is registered with the JVM to remove the local address from the store. Default is trueIf true, on a view change, the new coordinator removes all data except its ownIf true, on a view change, the new coordinator removes files from old coordinatorsWhether or not to return the entire logical-physical address cache mappings on a discovery request, or not.The secret access key to AWS (S3)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-1903Skip the code which checks if a bucket exists in initializationIf 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueChange 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 resultsWhether or not to use SSL to connect to host:portWhen a non-initial discovery is run, and InfoWriter is not running, write the data to disk (if true). JIRA: https://issues.jboss.org/browse/JGRP-2288Fully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())The CallbackHandler to use when a node acts as a client (i.e. it is not the coordinatorThe name to use when a node is acting as a client (i.e. it is not the coordinator. Will also be used to obtain the subject if using a JAAS login moduleThe password to use when a node is acting as a client (i.e. it is not the coordinator. Will also be used to obtain the subject if using a JAAS login moduleEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)The name of the JAAS login module to use to obtain a subject for creating the SASL client and server (optional). Only required by some SASL mechs (e.g. GSSAPI)The name of the mech to require for authentication. Can be any mech supported by your local SASL provider. The JDK comes standard with CRAM-MD5, DIGEST-MD5, GSSAPI, NTLMProperties specific to the chosen mechThe CallbackHandler to use when a node acts as a server (i.e. it is the coordinatorThe fully qualified server nameDetermines whether to collect statistics (and expose them via JMX). Default is trueHow long to wait (in ms) for a response to a challengeFully 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 runtimeIf true, all messages in the forward-table are sent to the new coord, else thye're dropped (https://issues.jboss.org/browse/JGRP-2268)Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueNumber of acks needed before going from ack-mode to normal mode. 0 disables this, which means that ack-mode is always onFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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-addressThe port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeThe max number of elements in a bundler if the bundler supports size limitationsNumber of spins before a real lock is acquiredThe type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementationThe wait strategy for a RingBufferUse a TCP socket to listen for probe requests (ignored if enable_diagnostics is false)Use a multicast socket to listen for probe requests (ignored if enable_diagnostics is false)Multicast address for diagnostic probing. Used when diag_enable_udp is trueBind address for diagnostic probing. Used when diag_enable_tcp is trueComma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toAuthorization passcode for diagnostics. If specified every probe query will be authorizedPort for diagnostic probing. Default is 7500The number of ports to be probed for an available port (TCP)TTL of the diagnostics multicast socketWhen the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765). Currently only applicable to TransferQueueBundlerSwitch to enable diagnostic probing. Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeUse "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 > 0Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)whether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTime (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 startsInterval (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 warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningMaximum number of bytes for messages to be queued until they are sentThe fully qualified name of a class implementing MessageProcessingPolicyMax number of messages buffered for consumption of the delivery thread in MaxOneThreadPerSender. 0 creates an unbounded bufferThe range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if takenComma delimited list of interfaces (IP addresses or interface names) to receive multicasts onIf true, the transport should use all available interfaces to receive multicast messagesWhen an internal message cannot be processed because of a full internal pool, a new thread is created to process the message. Setting this value to false disables this, and the message will be discarded (like regular messages)Determines whether to collect statistics (and expose them via JMX). Default is trueTime 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.Path to which the thread dump will be written. Ignored if nullThe number of times a thread pool needs to be full before a thread dump is loggedThread 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"Enable or disable the thread poolTimeout in milliseconds to remove idle threads from poolMaximum thread pool size for the thread poolMinimum thread pool size for the thread poolIf true, the common fork-join pool will be used; otherwise a custom ForkJoinPool will be createdIf enabled, a ForkJoinPool will be used rather than a ThreadPoolExecutorInterval (in ms) at which the time service updates its timestamp. 0 disables the time serviceCreate fibers (if true) or regular threads (if false). This requires Java 15/Loom. If not present, use_fibers will be set to false and regular threads will be created. Note that the ThreadFactoryneeds to support this (DefaultThreadFactory does)Use IP addresses (IpAddressUUID) instead of UUIDs as addresses. This is currently not compatible with RELAY2: disable if RELAY2 is used.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 apartFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 membersThe 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.jboss.org/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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Reorder down messages and message batchesEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)max number of messages before we reorder queued messages and send them upmax time (in millis) before we pass the reordered messages up or downDetermines whether to collect statistics (and expose them via JMX). Default is trueReorder up messages and message batchesFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Print sent messagesEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is truePrint received messagesFully 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 dumpedEnables ergonomics: dynamically find the best values for properties at runtimeFile to which the periodic data is writtenGive the protocol a different ID if needed so we can have multiple instances of it in the same stackInterval in ms at which the attributes are fetched and written to the filelogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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_LOOPBACKEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackLocation of the keystorePassword to access the keystoreThe type of the keystore. Types are listed in http://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.htmllogger 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 probeIf 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 usedThe argument to the session verifierThe fully qualified name of a class implementing SessionVerifierTimeout (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 portThe SSL protocol to use. Defaults to TLSv1.2.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 trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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_LOOPBACKIf set, then endpoint will be set to this addressEnables ergonomics: dynamically find the best values for properties at runtimeIf set to false, then a destination of /a/b match /a/b/c, a/b/d, a/b/c/d etcForward received messages which don't have a StompHeader to clientsGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Port on which the STOMP protocol listens for requestsIf 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 trueFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryAuthentication typeAuthentication urlReturn from the discovery phase as soon as we have 1 coordinator responseName of the root containerExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackThe max number of times my own information should be written to the storage after a view changeInterval (in ms) at which the info writer should kick inlogger level (see javadocs)The absolute path of the shared fileMax 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 membersThe 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.jboss.org/browse/JGRP-2317)PasswordIf set, a shutdown hook is registered with the JVM to remove the local address from the store. Default is trueIf true, on a view change, the new coordinator removes all data except its ownIf true, on a view change, the new coordinator removes files from old coordinatorsWhether 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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueOpenstack Keystone tenant nameChange 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 resultsUsernameWhen a non-initial discovery is run, and InfoWriter is not running, write the data to disk (if true). JIRA: https://issues.jboss.org/browse/JGRP-2288Fully 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 defaultCipher engine transformation for asymmetric algorithm. Default is RSAInitial public/private key length. Default is 2048Number of ciphers in the pool to parallelize encrypt and decrypt requestsIf true, the entire message (including payload and headers) is encrypted, else only the payloadEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackMax number of keys in key_mapPassword for recovering the key. Change the defaultFile on classpath that contains keystore repositoryThe type of the keystore. Types are listed in http://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.htmllogger level (see javadocs)Cryptographic Service ProviderIf true, all messages are digitally signed by adding an encrypted checksum of the encrypted message to the header. Ignored if encrypt_entire_message is falseDetermines whether to collect statistics (and expose them via JMX). Default is truePassword used to check the integrity/unlock the keystore. Change the defaultCipher engine transformation for symmetric algorithm. Default is AESInitialization 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 128When sign_msgs is true, by default CRC32 is used to create the checksum. If use_adler is true, Adler32 will be usedFully 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-addressThe port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeSize 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 sizeSize 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 sizeThe max number of elements in a bundler if the bundler supports size limitationsNumber of spins before a real lock is acquiredThe type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementationThe wait strategy for a RingBufferUse a TCP socket to listen for probe requests (ignored if enable_diagnostics is false)Use a multicast socket to listen for probe requests (ignored if enable_diagnostics is false)Multicast address for diagnostic probing. Used when diag_enable_udp is trueBind address for diagnostic probing. Used when diag_enable_tcp is trueComma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toAuthorization passcode for diagnostics. If specified every probe query will be authorizedPort for diagnostic probing. Default is 7500The number of ports to be probed for an available port (TCP)TTL of the diagnostics multicast socketWhen the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765). Currently only applicable to TransferQueueBundlerSwitch to enable diagnostic probing. Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeUse "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 > 0Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)whether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTime (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 startsInterval (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 warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningMaximum number of bytes for messages to be queued until they are sentThe fully qualified name of a class implementing MessageProcessingPolicyMax number of messages buffered for consumption of the delivery thread in MaxOneThreadPerSender. 0 creates an unbounded bufferThe range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if takenComma delimited list of interfaces (IP addresses or interface names) to receive multicasts onIf true, the transport should use all available interfaces to receive multicast messagessize in bytes of TCP receiver windowsize in bytes of TCP send windowWhen an internal message cannot be processed because of a full internal pool, a new thread is created to process the message. Setting this value to false disables this, and the message will be discarded (like regular messages)Determines whether to collect statistics (and expose them via JMX). Default is trueTime 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.Path to which the thread dump will be written. Ignored if nullThe number of times a thread pool needs to be full before a thread dump is loggedThread 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"Enable or disable the thread poolTimeout in milliseconds to remove idle threads from poolMaximum thread pool size for the thread poolMinimum thread pool size for the thread poolIf true, the common fork-join pool will be used; otherwise a custom ForkJoinPool will be createdIf enabled, a ForkJoinPool will be used rather than a ThreadPoolExecutorInterval (in ms) at which the time service updates its timestamp. 0 disables the time serviceCreate fibers (if true) or regular threads (if false). This requires Java 15/Loom. If not present, use_fibers will be set to false and regular threads will be created. Note that the ThreadFactoryneeds to support this (DefaultThreadFactory does)Use IP addresses (IpAddressUUID) instead of UUIDs as addresses. This is currently not compatible with RELAY2: disable if RELAY2 is used.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 apartFully 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-addressThe port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeSize 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 sizeSize 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 sizeThe max number of elements in a bundler if the bundler supports size limitationsNumber of spins before a real lock is acquiredThe type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementationThe wait strategy for a RingBufferThe 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_LOOPBACKThe 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 socketUse a TCP socket to listen for probe requests (ignored if enable_diagnostics is false)Use a multicast socket to listen for probe requests (ignored if enable_diagnostics is false)Multicast address for diagnostic probing. Used when diag_enable_udp is trueBind address for diagnostic probing. Used when diag_enable_tcp is trueComma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toAuthorization passcode for diagnostics. If specified every probe query will be authorizedPort for diagnostic probing. Default is 7500The number of ports to be probed for an available port (TCP)TTL of the diagnostics multicast socketWhen the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765). Currently only applicable to TransferQueueBundlerSwitch to enable diagnostic probing. Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeUse "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 > 0Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)SO_LINGER in msec. Default of -1 disables itLog a warning (or not) when ServerSocket.accept() throws an exceptionwhether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTime (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 startsInterval (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 warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningMaximum number of bytes for messages to be queued until they are sentThe max number of bytes a message can have. If greater, an exception will be thrown. 0 disables thisThe fully qualified name of a class implementing MessageProcessingPolicyMax number of messages buffered for consumption of the delivery thread in MaxOneThreadPerSender. 0 creates an unbounded bufferMax time to block on reading of peer addressThe range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if takenReaper interval in msec. Default is 0 (no reaping)Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts onIf true, the transport should use all available interfaces to receive multicast messagesReceiver buffer size in bytesSend buffer size in bytesMax time allowed for a socket creation in connection tableWhen an internal message cannot be processed because of a full internal pool, a new thread is created to process the message. Setting this value to false disables this, and the message will be discarded (like regular messages)Determines whether to collect statistics (and expose them via JMX). Default is trueTime 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 onPath to which the thread dump will be written. Ignored if nullThe number of times a thread pool needs to be full before a thread dump is loggedThread 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"Enable or disable the thread poolTimeout in milliseconds to remove idle threads from poolMaximum thread pool size for the thread poolMinimum thread pool size for the thread poolIf true, the common fork-join pool will be used; otherwise a custom ForkJoinPool will be createdIf enabled, a ForkJoinPool will be used rather than a ThreadPoolExecutorInterval (in ms) at which the time service updates its timestamp. 0 disables the time serviceCreate fibers (if true) or regular threads (if false). This requires Java 15/Loom. If not present, use_fibers will be set to false and regular threads will be created. Note that the ThreadFactoryneeds to support this (DefaultThreadFactory does)Use IP addresses (IpAddressUUID) instead of UUIDs as addresses. This is currently not compatible with RELAY2: disable if RELAY2 is used.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 apartFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackComma delimited list of hosts to be contacted for initial membershiplogger 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 membersThe 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.jboss.org/browse/JGRP-2317)Interval (ms) by which a disconnected stub attempts to reconnect to the GossipRouterWhether 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-1903Max time for socket creation. Default is 1000 msecIf 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsWhether 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 trueFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackComma 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 truelogger level (see javadocs)max number of hosts to keep beyond the ones in initial_hostsMax 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 membersThe 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.jboss.org/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:7801Whether 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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the resultsFully 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-addressThe port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeThe max number of elements in a bundler if the bundler supports size limitationsNumber of spins before a real lock is acquiredThe type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementationThe wait strategy for a RingBufferThe 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_LOOPBACKThe 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 reusedIf true, client sockets will not explicitly bind to bind_addr but will defer to the native socketUse a TCP socket to listen for probe requests (ignored if enable_diagnostics is false)Use a multicast socket to listen for probe requests (ignored if enable_diagnostics is false)Multicast address for diagnostic probing. Used when diag_enable_udp is trueBind address for diagnostic probing. Used when diag_enable_tcp is trueComma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toAuthorization passcode for diagnostics. If specified every probe query will be authorizedPort for diagnostic probing. Default is 7500The number of ports to be probed for an available port (TCP)TTL of the diagnostics multicast socketWhen the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765). Currently only applicable to TransferQueueBundlerSwitch to enable diagnostic probing. Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeUse "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 > 0Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)SO_LINGER in msec. Default of -1 disables itwhether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTime (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 startsInterval (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 warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningMaximum number of bytes for messages to be queued until they are sentThe max number of bytes a message can have. If greater, an exception will be thrown. 0 disables thisThe 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 MessageProcessingPolicyMax number of messages buffered for consumption of the delivery thread in MaxOneThreadPerSender. 0 creates an unbounded bufferMax time to block on reading of peer addressThe range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if takenNumber 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 readerReaper interval in msec. Default is 0 (no reaping)Comma delimited list of interfaces (IP addresses or interface names) to receive multicasts onIf true, the transport should use all available interfaces to receive multicast messagesReceiver buffer size in bytesSend buffer size in bytesMax time allowed for a socket creation in connection tableWhen an internal message cannot be processed because of a full internal pool, a new thread is created to process the message. Setting this value to false disables this, and the message will be discarded (like regular messages)Determines whether to collect statistics (and expose them via JMX). Default is trueTime 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 onPath to which the thread dump will be written. Ignored if nullThe number of times a thread pool needs to be full before a thread dump is loggedThread 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"Enable or disable the thread poolTimeout in milliseconds to remove idle threads from poolMaximum thread pool size for the thread poolMinimum thread pool size for the thread poolIf true, the common fork-join pool will be used; otherwise a custom ForkJoinPool will be createdIf enabled, a ForkJoinPool will be used rather than a ThreadPoolExecutorInterval (in ms) at which the time service updates its timestamp. 0 disables the time serviceCreate fibers (if true) or regular threads (if false). This requires Java 15/Loom. If not present, use_fibers will be set to false and regular threads will be created. Note that the ThreadFactoryneeds to support this (DefaultThreadFactory does)Use IP addresses (IpAddressUUID) instead of UUIDs as addresses. This is currently not compatible with RELAY2: disable if RELAY2 is used.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 apartFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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-addressThe port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeThe max number of elements in a bundler if the bundler supports size limitationsNumber of spins before a real lock is acquiredThe type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementationThe wait strategy for a RingBufferUse a TCP socket to listen for probe requests (ignored if enable_diagnostics is false)Use a multicast socket to listen for probe requests (ignored if enable_diagnostics is false)Multicast address for diagnostic probing. Used when diag_enable_udp is trueBind address for diagnostic probing. Used when diag_enable_tcp is trueComma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toAuthorization passcode for diagnostics. If specified every probe query will be authorizedPort for diagnostic probing. Default is 7500The number of ports to be probed for an available port (TCP)TTL of the diagnostics multicast socketWhen the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765). Currently only applicable to TransferQueueBundlerSwitch to enable diagnostic probing. Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeUse "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 > 0A comma-separated list of GossipRouter hosts, e.g. HostA[12001],HostB[12001]Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)whether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTime (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 startsInterval (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 warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningMaximum number of bytes for messages to be queued until they are sentThe fully qualified name of a class implementing MessageProcessingPolicyMax number of messages buffered for consumption of the delivery thread in MaxOneThreadPerSender. 0 creates an unbounded bufferThe range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if takenComma delimited list of interfaces (IP addresses or interface names) to receive multicasts onIf true, the transport should use all available interfaces to receive multicast messagesInterval in msec to attempt connecting back to router in case of torn connection. Default is 5000 msecWhen an internal message cannot be processed because of a full internal pool, a new thread is created to process the message. Setting this value to false disables this, and the message will be discarded (like regular messages)Determines whether to collect statistics (and expose them via JMX). Default is trueTime 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 onPath to which the thread dump will be written. Ignored if nullThe number of times a thread pool needs to be full before a thread dump is loggedThread 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"Enable or disable the thread poolTimeout in milliseconds to remove idle threads from poolMaximum thread pool size for the thread poolMinimum thread pool size for the thread poolIf true, the common fork-join pool will be used; otherwise a custom ForkJoinPool will be createdIf enabled, a ForkJoinPool will be used rather than a ThreadPoolExecutorInterval (in ms) at which the time service updates its timestamp. 0 disables the time serviceCreate fibers (if true) or regular threads (if false). This requires Java 15/Loom. If not present, use_fibers will be set to false and regular threads will be created. Note that the ThreadFactoryneeds to support this (DefaultThreadFactory does)Use IP addresses (IpAddressUUID) instead of UUIDs as addresses. This is currently not compatible with RELAY2: disable if RELAY2 is used.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 trueTimeout (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 apartFully 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-addressThe port to which the transport binds. Default of 0 binds to any (ephemeral) port. See also port_rangeThe max number of elements in a bundler if the bundler supports size limitationsNumber of spins before a real lock is acquiredThe type of bundler used ("ring-buffer", "transfer-queue" (default), "sender-sends" or "no-bundler") or the fully qualified classname of a Bundler implementationThe wait strategy for a RingBufferUse a TCP socket to listen for probe requests (ignored if enable_diagnostics is false)Use a multicast socket to listen for probe requests (ignored if enable_diagnostics is false)Multicast address for diagnostic probing. Used when diag_enable_udp is trueBind address for diagnostic probing. Used when diag_enable_tcp is trueComma delimited list of interfaces (IP addresses or interface names) that the diagnostics multicast socket should bind toAuthorization passcode for diagnostics. If specified every probe query will be authorizedPort for diagnostic probing. Default is 7500The number of ports to be probed for an available port (TCP)TTL of the diagnostics multicast socketIf 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.When the queue is full, senders will drop a message rather than wait until space is available (https://issues.redhat.com/browse/JGRP-2765). Currently only applicable to TransferQueueBundlerSwitch to enable diagnostic probing. Default is trueEnables ergonomics: dynamically find the best values for properties at runtimeUse "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 > 0Give the protocol a different ID if needed so we can have multiple instances of it in the same stackMulticast toggle. If false multiple unicast datagrams are sent instead of one multicast. Default is trueThe time-to-live (TTL) for multicast datagram packets. Default is 8logger level (see javadocs)whether or not warnings about messages from different groups are loggedwhether or not warnings about messages from members with a different version are discardedTime (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 startsInterval (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 warningLoop back the message on a separate thread or use the current thread. Don't use this; might get removed without warningMaximum number of bytes for messages to be queued until they are sentThe multicast address used for sending and receiving packetsThe multicast port used for sending and receiving packets. Default is 7600Number 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 socketSend buffer size of the multicast datagram socketThe fully qualified name of a class implementing MessageProcessingPolicyMax number of messages buffered for consumption of the delivery thread in MaxOneThreadPerSender. 0 creates an unbounded bufferThe range of valid ports: [bind_port .. bind_port+port_range ]. 0 only binds to bind_port and fails if takenComma delimited list of interfaces (IP addresses or interface names) to receive multicasts onIf true, the transport should use all available interfaces to receive multicast messagesWhen an internal message cannot be processed because of a full internal pool, a new thread is created to process the message. Setting this value to false disables this, and the message will be discarded (like regular messages)Determines whether to collect statistics (and expose them via JMX). Default is trueTime 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 packetPath to which the thread dump will be written. Ignored if nullThe number of times a thread pool needs to be full before a thread dump is loggedThread 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"Enable or disable the thread poolTimeout in milliseconds to remove idle threads from poolMaximum thread pool size for the thread poolMinimum thread pool size for the thread poolIf true, the common fork-join pool will be used; otherwise a custom ForkJoinPool will be createdIf enabled, a ForkJoinPool will be used rather than a ThreadPoolExecutorInterval (in ms) at which the time service updates its timestamp. 0 disables the time serviceTraffic class for sending unicast and multicast datagrams. Default is 0Number 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 socketSend buffer size of the unicast datagram socketCreate fibers (if true) or regular threads (if false). This requires Java 15/Loom. If not present, use_fibers will be set to false and regular threads will be created. Note that the ThreadFactoryneeds to support this (DefaultThreadFactory does)Use IP addresses (IpAddressUUID) instead of UUIDs as addresses. This is currently not compatible with RELAY2: disable if RELAY2 is used.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 apartFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max time (in ms) to blockMax times to block for the listed messages sizes (Message.getLength()). Example: "1000:10,5000:30,10000:500"Max number of bytes to send per receiver until an ack must be received to proceedComputed as max_credits x min_theshold unless explicitly setThe 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 trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Max time (in ms) to blockMax times to block for the listed messages sizes (Message.getLength()). Example: "1000:10,5000:30,10000:500"Max number of bytes to send per receiver until an ack must be received to proceedMax 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 setThe 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 trueSend 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 thisTime (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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)If true, 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 unboundedMax 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 thisMax number of messages to ask for in a retransmit request. 0 disables this and uses the max bundle size in the transportDetermines whether to collect statistics (and expose them via JMX). Default is trueMin time (in ms) to elapse for successive SEND_FIRST_SEQNO messages to be sent to the same senderInterval (in milliseconds) at which messages in the send windows are resentNumber 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_rowNumber 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())Interface for ICMP pings. Used if use_icmp is true The following special values are also recognized: GLOBAL, SITE_LOCAL, LINK_LOCAL and NON_LOOPBACKEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Number of verify heartbeats sent to a suspected memberDetermines whether to collect statistics (and expose them via JMX). Default is trueNumber of millisecs to wait for a response from a suspected memberUse InetAddress.isReachable() to verify suspected member instead of regular messagesSend 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 allReconciliation phase toggle. Default is trueTimeout to wait for UNBLOCK after STOP_FLUSH is issued. Default is 2000 msecEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Retry timeout after an unsuccessful attempt to quiet the cluster (first flush phase). Default is 3000 msecTimeout (per atttempt) to quiet the cluster during the first flush phase. Default is 2000 msecDetermines whether to collect statistics (and expose them via JMX). Default is trueMax time to keep channel blocked in flush. Default is 8000 msecFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stackWhether or not to install a new view locally first before broadcasting it (only done at the coord ). Set to true automatically if a state transfer protocol is detectedJoin timeoutMax time (in ms) to wait for a LEAVE response after a LEAVE req has been sent to the coordlogger level (see javadocs)Logs failures for collecting all view acks if trueLogs warnings for reception of views less than the current, and for views which don't include selfMax view bundling timeout if view bundling is turned onNumber 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 foreverThe fully qualified name of a class implementing MembershipChangePolicy.Timeout (in ms) to complete mergeMax number of old members to keep in history. Default is 50Number of views to store in historyPrint local address of this member after connect. Default is truePrint physical address(es) on startupWhen true, left and joined members are printed in addition to the viewDetermines whether to collect statistics (and expose them via JMX). Default is trueIf true, then GMS is allowed to send VIEW messages with delta views, otherwise it always sends full views. See https://issues.jboss.org/browse/JGRP-1354 for details.Use flush for view changes. Default is trueTime in ms to wait for all VIEW acks (0 == wait forever. Default is 2000 msecView bundling toggleFully 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.jboss.org/browse/JGRP-1509 for details). 0 disables the queue.Should messages delivered to application be discardedEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)discards warnings about promiscuous trafficIf 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 unboundedTimeout to rebroadcast messages. Default is 2000 msecMax number of messages to ask for in a retransmit request. 0 disables this and uses the max bundle size in the transportIf 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 incrementedDetermines whether to collect statistics (and expose them via JMX). Default is trueTime 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 unicastUse a multicast to request retransmission of missing messagesAsk a random member for retransmission of a missing message. Default is falseInterval (in milliseconds) at which missing messages (from all retransmit buffers) are retransmittedNumber 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_rowNumber 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 messageEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Maximum number of bytes received in all messages before sending a STABLE message is triggeredWether or not to send the STABLE messages to all members of the cluster, or to the current coordinator only. The latter reduces the number of STABLE messages, but also generates more work on the coordinatorDelay before stability message is sentDetermines whether to collect statistics (and expose them via JMX). Default is trueFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Size (in bytes) of the state transfer bufferEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Maximum number of pool threads serving state requestsKeep alive for pool threads serving state requestsDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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_LOOPBACKThe interface (NIC) which should be used by this transportThe port listening for state requests. Default value of 0 binds to any (ephemeral) portSize (in bytes) of the state transfer bufferEnables ergonomics: dynamically find the best values for properties at runtimeUse "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 > 0Give the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Maximum number of pool threads serving state requestsKeep alive for pool threads serving state requestsDetermines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 blockedWhether 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 itselfName of the relay configurationWhether 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 ignoredEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 clusterWhether or not to relay multicast (dest=null) messagesName of the site (needs to be defined in the configuration)Fully qualified name of a class implementing SiteMasterPickerRatio 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 detailsDetermines whether to collect statistics (and expose them via JMX). Default is trueTime (in ms) during which identical errors about no route to host will be suppressed. 0 disables this (every error will be logged).Number of millis to wait for topology detectionIf true, logs a warning if the FORWARD_TO_COORD protocol is not found. This property might get deprecated soonFully qualified name of a class implementing ProtocolHook, will be called after creation of the protocol (before init())Location of an XML file listing the rules to be installedEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger level (see javadocs)Determines whether to collect statistics (and expose them via JMX). Default is trueFully 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 millisecondsIf enabled, use a separate thread for every discovery request. Can be used with or without async_discoveryReturn from the discovery phase as soon as we have 1 coordinator responseExpiry time of discovery responses in msDNS 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 membersDNS Record typeEnables ergonomics: dynamically find the best values for properties at runtimeGive the protocol a different ID if needed so we can have multiple instances of it in the same stacklogger 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 membersThe 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.jboss.org/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-1903If 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 timeDetermines whether to collect statistics (and expose them via JMX). Default is trueIf a persistent disk cache (PDC) is present, combine the discovery results with the contents of the disk cache before returning the results