We have a Go application running in a highly concurrent environment. We do several aerospike reads for every single request, by spawning multiple goroutines . Currently we are facing this issue where our clients are exceeding connectionQueueSize limit intermittently. Here is the client policy:
"ConnectionTimeoutMs": 1000,
"SocketTimeoutMs": 50,
"TimeoutMs": 100,
"ConnectionQueueSize": 150,
"LimitConnectionsToQueueSize": true
We tried increasing/descresing connectionQueueSize, using default values, but same was the result.
Recently we made the changes to make the client singleton. Also, we tried to set the MaxRetries to 0, in case that's trying to pool connections over multiple attempts. After setting that to 0, I am getting following error:
command execution timed out on client: Exceeded number of retries. See Policy.MaxRetries. why it says exceeded no of retries, when maxretries is set to 0
In summary, none of these have helped. Any pointer is appreciated. Thanks.
Please note: We use Aerospike community version.