org.apache.ignite.internal

## Enum IgniteFeatures

- java.lang.Object
- - java.lang.Enum<IgniteFeatures>
  - - org.apache.ignite.internal.IgniteFeatures

All Implemented Interfaces:
  Serializable, Comparable<IgniteFeatures>

    public enum IgniteFeatures
    extends Enum<IgniteFeatures>

Defines supported features and check its on other nodes.

### Enum Constant Summary

Enum Constants
Enum Constant and Description
`CACHE_METRICS_V2` Cache metrics v2 support.
`CHANNEL_COMMUNICATION` The node can communicate with others via socket channel.
`CHECK_INDEX_INLINE_SIZES` Check secondary indexes inline size on join/by control utility request.
`CLUSTER_READ_ONLY_MODE` Support of cluster read-only mode.
`CONT_QRY_SECURITY_AWARE` ContinuousQuery with security subject id support.
`DATA_PACKET_COMPRESSION` Data paket compression.
`DIFFERENT_REBALANCE_POOL_SIZE` Support of different rebalance size for nodes.
`DISTRIBUTED_CHANGE_LONG_OPERATIONS_DUMP_TIMEOUT` Distributed change timeout for dump long operations.
`DISTRIBUTED_METASTORAGE` Distributed metastorage.
`DISTRIBUTED_TX_COLLISIONS_DUMP` Distributed propagation of tx collisions dump interval.
`FIND_AND_DELETE_GARBAGE_COMMAND` Command which allow to detect and cleanup garbage which could left after destroying caches in shared groups
`INDEXES_MANIPULATIONS_FROM_CONTROL_SCRIPT` Force rebuild, list or request indexes rebuild status from control script.
`LRT_SYSTEM_USER_TIME_DUMP_SETTINGS` LRT system and user time dump settings.
`MASTER_KEY_CHANGE` Master key change.
`MVCC_TX_RECOVERY_PROTOCOL_V2` Optimization of recovery protocol for cluster which doesn't contain MVCC caches.
`PERSISTENCE_CACHE_SNAPSHOT` Persistence caches can be snapshot.
`PME_FREE_SWITCH` Partition Map Exchange-free switch on baseline node left at fully rebalanced cluster.
`REMOVE_METADATA` Remove metadata from cluster for specified type.
`SAFE_CLUSTER_DEACTIVATION` Preventing loss of in-memory data when deactivating the cluster.
`SHUTDOWN_POLICY` Support policy of shutdown.
`SPECIFIED_SEQ_PK_KEYS` Pk index keys are applied in correct order.
`SPLITTED_CACHE_CONFIGURATIONS` Support of splitted cache configurations to avoid broken deserialization on non-affinity nodes.
`SUSPEND_RESUME_PESSIMISTIC_TX` Support of suspend/resume operations for pessimistic transactions.
`TCP_COMMUNICATION_SPI_HANDSHAKE_WAIT_MESSAGE` Support of `HandshakeWaitMessage` by `TcpCommunicationSpi`.
`TCP_DISCOVERY_MESSAGE_NODE_COMPACT_REPRESENTATION` Replacing TcpDiscoveryNode field with nodeId field in discovery messages.
`TRACING` Tracing.
`TRANSACTION_OWNER_THREAD_DUMP_PROVIDING` Support of providing thread dump of thread that started transaction.
`TX_INFO_COMMAND` Displaying versbose transaction information: --info option of --tx control script command.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static byte[]` `allFeatures()` Features supported by the current node.
`static boolean` `allNodesSupports(Iterable<ClusterNode> nodes, IgniteFeatures feature)` Checks that feature supported by all nodes.
`int` `getFeatureId()`
`static boolean` `nodeSupports(byte[] featuresAttrBytes, IgniteFeatures feature)` Checks that feature supported by node.
`static boolean` `nodeSupports(ClusterNode clusterNode, IgniteFeatures feature)` Checks that feature supported by node.
`static IgniteFeatures` `valueOf(String name)` Returns the enum constant of this type with the specified name.
`static IgniteFeatures[]` `values()` Returns an array containing the constants of this enum type, in the order they are declared.

### Methods inherited from class java.lang.Enum

`clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Enum Constant Detail

#### TCP_COMMUNICATION_SPI_HANDSHAKE_WAIT_MESSAGE

    public static final IgniteFeatures TCP_COMMUNICATION_SPI_HANDSHAKE_WAIT_MESSAGE

Support of `HandshakeWaitMessage` by `TcpCommunicationSpi`.

#### CACHE_METRICS_V2

    public static final IgniteFeatures CACHE_METRICS_V2

Cache metrics v2 support.

#### DATA_PACKET_COMPRESSION

    public static final IgniteFeatures DATA_PACKET_COMPRESSION

Data paket compression.

#### DIFFERENT_REBALANCE_POOL_SIZE

    public static final IgniteFeatures DIFFERENT_REBALANCE_POOL_SIZE

Support of different rebalance size for nodes.

#### SPLITTED_CACHE_CONFIGURATIONS

    public static final IgniteFeatures SPLITTED_CACHE_CONFIGURATIONS

Support of splitted cache configurations to avoid broken deserialization on non-affinity nodes.

#### TRANSACTION_OWNER_THREAD_DUMP_PROVIDING

    public static final IgniteFeatures TRANSACTION_OWNER_THREAD_DUMP_PROVIDING

Support of providing thread dump of thread that started transaction. Used for dumping long running transactions.

#### TX_INFO_COMMAND

    public static final IgniteFeatures TX_INFO_COMMAND

Displaying versbose transaction information: --info option of --tx control script command.

#### FIND_AND_DELETE_GARBAGE_COMMAND

    public static final IgniteFeatures FIND_AND_DELETE_GARBAGE_COMMAND

Command which allow to detect and cleanup garbage which could left after destroying caches in shared groups

#### CLUSTER_READ_ONLY_MODE

    public static final IgniteFeatures CLUSTER_READ_ONLY_MODE

Support of cluster read-only mode.

#### SUSPEND_RESUME_PESSIMISTIC_TX

    public static final IgniteFeatures SUSPEND_RESUME_PESSIMISTIC_TX

Support of suspend/resume operations for pessimistic transactions.

#### DISTRIBUTED_METASTORAGE

    public static final IgniteFeatures DISTRIBUTED_METASTORAGE

Distributed metastorage.

#### CHANNEL_COMMUNICATION

    public static final IgniteFeatures CHANNEL_COMMUNICATION

The node can communicate with others via socket channel.

#### TCP_DISCOVERY_MESSAGE_NODE_COMPACT_REPRESENTATION

    public static final IgniteFeatures TCP_DISCOVERY_MESSAGE_NODE_COMPACT_REPRESENTATION

Replacing TcpDiscoveryNode field with nodeId field in discovery messages.

#### LRT_SYSTEM_USER_TIME_DUMP_SETTINGS

    public static final IgniteFeatures LRT_SYSTEM_USER_TIME_DUMP_SETTINGS

LRT system and user time dump settings.

#### PME_FREE_SWITCH

    public static final IgniteFeatures PME_FREE_SWITCH

Partition Map Exchange-free switch on baseline node left at fully rebalanced cluster.

#### MASTER_KEY_CHANGE

    public static final IgniteFeatures MASTER_KEY_CHANGE

Master key change. See `GridEncryptionManager.changeMasterKey(String)`.

#### CONT_QRY_SECURITY_AWARE

    public static final IgniteFeatures CONT_QRY_SECURITY_AWARE

ContinuousQuery with security subject id support.

#### SAFE_CLUSTER_DEACTIVATION

    public static final IgniteFeatures SAFE_CLUSTER_DEACTIVATION

Preventing loss of in-memory data when deactivating the cluster.

See Also:
  `ClusterState.INACTIVE`

#### PERSISTENCE_CACHE_SNAPSHOT

    public static final IgniteFeatures PERSISTENCE_CACHE_SNAPSHOT

Persistence caches can be snapshot.

#### TRACING

    public static final IgniteFeatures TRACING

Tracing.

#### DISTRIBUTED_CHANGE_LONG_OPERATIONS_DUMP_TIMEOUT

    public static final IgniteFeatures DISTRIBUTED_CHANGE_LONG_OPERATIONS_DUMP_TIMEOUT

Distributed change timeout for dump long operations.

#### CHECK_INDEX_INLINE_SIZES

    public static final IgniteFeatures CHECK_INDEX_INLINE_SIZES

Check secondary indexes inline size on join/by control utility request.

#### DISTRIBUTED_TX_COLLISIONS_DUMP

    public static final IgniteFeatures DISTRIBUTED_TX_COLLISIONS_DUMP

Distributed propagation of tx collisions dump interval.

#### REMOVE_METADATA

    public static final IgniteFeatures REMOVE_METADATA

Remove metadata from cluster for specified type.

#### SHUTDOWN_POLICY

    public static final IgniteFeatures SHUTDOWN_POLICY

Support policy of shutdown.

#### INDEXES_MANIPULATIONS_FROM_CONTROL_SCRIPT

    public static final IgniteFeatures INDEXES_MANIPULATIONS_FROM_CONTROL_SCRIPT

Force rebuild, list or request indexes rebuild status from control script.

#### MVCC_TX_RECOVERY_PROTOCOL_V2

    public static final IgniteFeatures MVCC_TX_RECOVERY_PROTOCOL_V2

Optimization of recovery protocol for cluster which doesn't contain MVCC caches.

#### SPECIFIED_SEQ_PK_KEYS

    public static final IgniteFeatures SPECIFIED_SEQ_PK_KEYS

Pk index keys are applied in correct order.

### Method Detail

#### values

    public static IgniteFeatures[] values()

Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

    for (IgniteFeatures c : IgniteFeatures.values())
        System.out.println(c);

Returns:
  an array containing the constants of this enum type, in the order they are declared

#### valueOf

    public static IgniteFeatures valueOf(String name)

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum type has no constant with the specified name
  `NullPointerException` - if the argument is null

#### getFeatureId

    public int getFeatureId()

Returns:
  Feature ID.

#### nodeSupports

    public static boolean nodeSupports(ClusterNode clusterNode,
                                       IgniteFeatures feature)

Checks that feature supported by node.

Parameters:
  `clusterNode` - Cluster node to check.
  `feature` - Feature to check.
Returns:
  `True` if feature is declared to be supported by remote node.

#### nodeSupports

    public static boolean nodeSupports(byte[] featuresAttrBytes,
                                       IgniteFeatures feature)

Checks that feature supported by node.

Parameters:
  `featuresAttrBytes` - Byte array value of supported features node attribute.
  `feature` - Feature to check.
Returns:
  `True` if feature is declared to be supported by remote node.

#### allNodesSupports

    public static boolean allNodesSupports(Iterable<ClusterNode> nodes,
                                           IgniteFeatures feature)

Checks that feature supported by all nodes.

Parameters:
  `nodes` - cluster nodes to check their feature support.
Returns:
  if feature is declared to be supported by all nodes

#### allFeatures

    public static byte[] allFeatures()

Features supported by the current node.

Returns:
  Byte array representing all supported features by current node.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.9.0
Release Date | : October 15 2020