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

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

© 2015 Copyright Aerospike, Inc. | All rights reserved. Creators of the Aerospike Database.