AsyncClient stuck in get

I am trying to use the AsyncClient for read operations. I have used it as is mentioned in the sample codes for using AsyncClient. ( I am using the below get method.

get(BatchPolicy policy, RecordArrayListener listener, Key keys)

But when I make a large number of get requests (~50000) the async client seems to get stuck. The stack trace of a waiting thread looks something like this

“pool-11-thread-1” - Thread t@56 java.lang.Thread.State: WAITING at sun.misc.Unsafe.park(Native Method) - parking to wait for <737890e3> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park( at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await( at java.util.concurrent.ArrayBlockingQueue.take( at com.aerospike.client.async.AsyncCluster$BlockBufferQueue.getByteBuffer( at com.aerospike.client.async.AsyncCluster.getByteBuffer( at com.aerospike.client.async.AsyncCommand.execute( at com.aerospike.client.async.AsyncMul tiExecutor.execute( at com.aerospike.client.async.AsyncBatch$GetArrayExecutor.( at com.aerospike.client.async.AsyncClient.get(

It is not event timing out. Please help me understand how this can happen, and how to avoid it