Why do I see this timeout exception with "node=null" on Async Java Application?

The Aerospike Knowledge Base has moved to https://support.aerospike.com. Content on https://discuss.aerospike.com is being migrated to either https://support.aerospike.com or https://docs.aerospike.com. Maintenance on articles stored in this repository ceased on December 31st 2022 and this article may be stale. If you have any questions, please do not hesitate to raise a case via https://support.aerospike.com.

Issue

I see the following exception on my Java Async Application when a node is un-reachable or during a networking event in the cluster:

com.aerospike.client.AerospikeException$Timeout: Client timeout: iteration=0 socket=30000 total=30000 maxRetries=2 node=null inDoubt=false

Solution

The timeout exception showing a ‘null’ node happens only in the following known scenarios:

  1. Timeout occurred when the async command is in delay queue. Note that Delay queue is only used when EventPolicy.maxCommandsInProcess > 0.

  2. Async command is submitted from a non-eventloop thread and the timeout occured before the command is executed in the eventloop thread.

Note: Timeout exceptions with a null node do not occur when using the Java Sync Client.

Subscribing to the Client Logging is recommended as it would show cluster tend errors (if any).

Reference

Keywords

ASYNC JAVA NULL NODE

Timestamp

June 2020