-
Notifications
You must be signed in to change notification settings - Fork 219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cluster tend failed: java.lang.ArrayIndexOutOfBoundsException #394
Comments
ArrayIndexOutOfBoundsException will occur if the same node is added twice to the "removeList". In this case, B10 and A11 were probably both added twice causing the new node count be incorrectly calculated as 4 (8 nodes - 4 nodes in removeList) instead of the correct 6 (8 - 2). I can fix this, but I would first like to determine exactly how that happened. If I created a debug build branch off 8.1.4, would it be possible for you to compile and run this debug build with your application? The debug build would be 8.1.4 plus additional log messages. |
We would be happy to do so. Let us know the branch name when you prepare it. |
The "CLIENT-3308" branch is ready. |
Looks like the issue might be related to the fact that nodes are being used as both hostname and IP address. I will investigate further on my side to see why that might be happening.
|
Yes, this will be fixed in 9.0.4 and a 8.1.5 backport release. |
The fix was more complicated than I thought, so I checked-in the fix to the same "CLIENT-3308" branch. Can you try your application with the updated branch? Also, I'm curious how the server returned a hostname instead of an IP address. What are your server config values for "address", "access-address" and "alternate-access-address" for the B21 node? |
I have deployed the service with the patched version of aerospike client but "unfortunately" we didn't have any failed connections yet. We will leave it running over the weekend. For the server config we just have "address", it's set to the same hostname we use as one of the seeds in client, e.g. |
I have confirmed that it's expected for the hostname to be returned for peer nodes when a node "address" is also a hostname. Your configuration is fine. The client needs to handle this case. |
Hey guys, we have been getting
ArrayIndexOutOfBoundsException
exceptions in tend when upgraded client from v8.1.3 to v8.1.4. This is happening when some node gets a Connection failed error. We have a cluster of 8 nodes deployed in US west coast and the client in located in US east coast. Client configuration is using all default values (including timeout 1000ms and login timeout 5000ms), only configuration we have is minConnsPerNode=4.First we have a log when using client v8.1.3 with no exception at the end:
The next log is from client v8.1.4 with exception at the end:
This is later causing exceptions like this when querying
The same exception is also present in client v9.0.2.
The text was updated successfully, but these errors were encountered: