Ignite Cache Transactions Test

Transactions allows to group multiple cache operations, on one or more keys, into a single atomic transaction. These operations are executed without any other interleaved operations on the specified keys, and either all succeed or all fail. There is no partial execution of the operations. Transactions can be enabled for a specific cache in the cache configuration.

Transaction management is complex in Apache Ignite and since it includes multiple nodes and partitions, any issue at any place can lead to whole transaction being failed. Apache Ignite however, maintains the integrity of the system by ensuring atomic transaction. Given the importance and complexity of transaction processing, it is absolutely necessary to monitor the transactions and ensure that administrators are aware of issues because of which transactions could fail.

This test monitors cache transactions and gather key metrics which provide insights into health of transaction process on the server.

Target of the test : Apache Ignite Server

Agent deploying the test : An internal or external agent

Outputs of the test : One set of results for each Apache Ignite Server

Configurable parameters for the test

Parameter

Description

Test period

How often should the test be executed.

Host

Enter the IP address of the Apache Ignite cluster.

Port

Enter the port number on which JMX connector listens to incoming connections requests.

JMX Remote Port

In this text box, enter the name of a virtual warehouse that needs to be monitored. The JMX connector listens on 8686 by default. If it listens on different port in your environment then specify the same.

JMX User

Specify the credentials of the user who is authorized to use JMX.

JMX Password

Specify the password for the authorized user.

Confirm Password

Confirm the password by retyping it here.

Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

Total partition on current node

Indicates the total number of partitions on current node.

Number

Transactions performance may be affected if the transactions are spanning across multiple partitions.

Transaction commit queues

Indicates the total number of commit queues on the current node.

Number

If there are too many transaction commit queues active at a time, it could cause delay in commits or in worst case, can cause a deadlock.

Transaction committed versions

Indicates the total number of versions of committed transactions.

Number

 

Transaction DHT commit queues

Indicates the total number of Distributed Hash Tables (DHT) queues across all nodes.

Number

If there are too many transaction commit queues as distributed hash tables active at a time, it could cause delay in commits or in worst case, can cause a deadlock.

Transaction DHT committed version

Indicates the total number of versions of transactions committed to DHT.

Number

 

Transaction DHT start version count

Indicates the total number of versions of committed transactions at the start of the transaction.

Number

 

Transaction DHT thread map

Indicates the total number of Distributed Hash Tables (DHT) per thread.

Number

 

Transaction DHT XID map

Indicates the total number of Distributed Hash Tables (DHT) per XID map size.

Number

 

Transaction key collisions

Indicates the key and appropriate collisions queue size for the last IGNITE_DUMP_TX_COLLISIONS_INTERVAL.

Number

 

Transaction prepares queues

Indicates the total number of Transaction prepare queue size.

Number

A very high number of transaction prepares queue mean

Transaction rolled back versions

Indicates the total number of versions of rolled back transactions.

Number

 

Transaction start version count

Indicates the total number of versions of transactions at the start of process.

Number

 

Transaction thread map

Indicates the total number of transactions per thread.

Number

 

Transaction XID per map

Indicates the total number of transactions per XID.

Number