Aerospike C# client Error Code -3


#1

Hi. We have a problem with aerospike client on c# (we think that it is a problem with client). We use version 3.4.2. When we create a lot of task (c# tasks) (list of tasks) with calling async aerospike client sometimes we get an error: Aerospike.Client.AerospikeException: Error Code -3: Invalid node.

When we use not too much tasks - all works fine. Also should say, that we do not use a cluster on server side, use only a single node.

Could you please explain what such error mean and how we could fix it?


#2

Me too! I haven’t quite tied it back to a sync call volume though… Are you subscribed to the Aerospike log? http://www.aerospike.com/docs/client/csharp/usage/logging.html


#3

AerospikeException.InvalidNode is thrown in the following cases:

  1. The client’s view of the cluster is empty (no nodes reachable).

  2. The cluster tend thread can’t communicate a node.

  3. AerospikeClient.scanNode() passes in a node name that doesn’t exist.

I do recommend subscribing to the log because log messages are generated when nodes are added/dropped from the cluster and when nodes can’t be contacted. Set Log.Level to DEBUG to get all the messages.


#4

We have only one node, so it is not a real cluster. But after some debug our application, we understood that the problem was on application side. Error code -3 we got when tried to write a lot of entries at the same time with the same key. Why in our case we got Error -3, I dont know. Maybe debug level on aerospike server will help us understand. But I think we will try it some later. Thank you for help.


#5

Can you check to see if your queue was building during the time of Error Code -3? What you’re describing is a hotkey situation, in which case you should either see a hotkey exception or accumulation of requests transaction queue.

http://www.aerospike.com/docs/reference/serverlogmessages/

Depending on your server version, you need to look for a different message… Pre 3.9 - look for the number right after “q”: trans_in_progress: wr 23 prox 0 wait 0 ::: q 1 ::: bq 0 ::: iq 0 ::: dq 0 : fds - proto (17, 2699692, 2699675) : hb (2, 3, 1) : fab (30, 44, 14)

Post 3.9 - look for the number right after "tsvc-q" in-progress: tsvc-q 0 info-q 5 nsup-delete-q 10 rw-hash 0 proxy-hash 0 tree-gc-q 0


#6

Hi. We tested again this error and we found the reason of our problem. Our App has a short-time operations with write data to aerospike. It realized with a lot of Threads Tasks in code. And in such short-time periods we had load on network about 200 Mbit/s. But size of network channel we had 100 Mbit/s. So in our case aerospike c# client returned Error code -3 because of overload network channel. Thanks all for help.