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?
AerospikeException.InvalidNode is thrown in the following cases:
The client’s view of the cluster is empty (no nodes reachable).
The cluster tend thread can’t communicate a node.
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.
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.
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.
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
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.