Open earshinov opened 3 years ago
Thanks for reporting. This does seem like a bug. I do believe we are using the built in OrientDB connection pooling capability. In general, we would expect that the connection pool would be keeping the connections alive or fresh.
Finally getting to look at this error. I did confirm that the error is inside OrientDB client code. Here specifically:
We are using the OrientDB connection pooling, so this seems like there is an error in the connection pool logic on the OrientDB side. We are in the process of upgrading from 3.0.x to 3.2.x of OrientDB so I am hoping that this will resolve the situation.
I do agree on the 503 vs 500 error.
As a matter of fact, after we reduced the number of convergence-server instances we run in the Akka cluster from 3 to 1 we basically stopped receiving these "Connection reset" errors. They only happen occasionally (a couple of times in a month) and no longer bother us.
But as you were going to upgrade OrientDB client libraries to 3.2.x (and it seems it hasn't been done yet in 1.0.0-rc.12), I think we should keep this issue open.
Hi!
We occasionally have "Connection reset" errors in Convergence server logs and 500 Internal Server Error in response to a REST API call.
Convergence server logs:
More details:
Maybe you could give us some hints for what might go wrong and tips on what Convergence server settings to tweak. Since GET should be a safe method, should we implement retries on the side of our application that makes REST API calls?
Versions
convergencelabs/convergence-server:1.0.0-rc.7
Describe the Bug
REST API client sometimes gets 500 Internal Server Error from Convergence.
Expected Behavior
If Convergence server has some kind of an OrientDB connection pool which might contain stale connections, it should reconnect when hitting connection reset.
Alternatively, if retries are considered a caller's duty, Convergence server should probably return 503 instead of 500 to signify that the client should make a retry.