Articles in this section

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

Problem Description

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

 


Explanation

It is expected to have cluster nodes undergo network issues and cause them to be unreachable. However, we expect to see errors in tending or timeouts with a specific node rather than a null node.

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).


Notes


Applies To Earliest Version

Pre 4.9

Applies To Latest Version

Current Version
Was this article helpful?
0 out of 0 found this helpful