You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 16, 2024. It is now read-only.
The concurrent connections in my project was about 30,000. I could find CRASH: {connection_error,{connection_error,eaddrnotavail}} in a percentage of 0.1%.
The reuseaddr is set to true and looks like it is the root cause. The client would try to reuse the same port in time_wait status, but encounters eaddrnotavail error.
Please refer to http://stackoverflow.com/questions/17606503/redis-exception-raised-in-gen-server/26523211#26523211
After change the code to:
-define(SOCKET_OPTS, [binary, {active, once}, {packet, raw}, {reuseaddr, false}]).
There is no more eaddrnotavail error.
The text was updated successfully, but these errors were encountered:
@olgeni: Yes, I'd say so :) I remember a case where you'd want to enable reuseaddr. I think maybe it was in the unit tests. Are the tests still passing on your branch?
@hellowenniu: It makes sense to fix this issue, either by setting the setting to false or allow it to be configurable. Just out of curiosity, how many Redis instances do you have? And are you using MULTI? A single connection to each instance should give you very good performance if you're using the simple commands, so no MULTI or blocking commands.
Hi,
The concurrent connections in my project was about 30,000. I could find CRASH: {connection_error,{connection_error,eaddrnotavail}} in a percentage of 0.1%.
The reuseaddr is set to true and looks like it is the root cause. The client would try to reuse the same port in time_wait status, but encounters eaddrnotavail error.
Please refer to http://stackoverflow.com/questions/17606503/redis-exception-raised-in-gen-server/26523211#26523211
After change the code to:
-define(SOCKET_OPTS, [binary, {active, once}, {packet, raw}, {reuseaddr, false}]).
There is no more eaddrnotavail error.
The text was updated successfully, but these errors were encountered: