-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Error: Handshake inactivity timeout with Node.js v6.2.0 and RDS #1434
Comments
Hi @mklueh, yes, there is an issue with 4.2.0 (that specific version), but you're not using it. I haven't seen this reported before on 6.2.0, and at least some testing here seems to show the timers are working just fine on that version. Do you think you can walk me through enough such that I can actively reproduce the issue? Then I can attach a debugger to the runtime and determine why it is happening, otherwise, I'm not sure what I can look into :S |
I´ve tested it on a local database and I got the error too. It seems to happen when the CPU of the server is at 100% |
Ah. It that case, I can reproduce. Debugging what I have shows that the event loop is getting overwhelmed, and so what is happening is that the node process just doesn't have enough time to even read from the socket before the wall clock ticks past the timeout. Unfortunately there is no solution to thus besides either you set all your timeouts to Infinity (effectively disabling them, along with the control they provide to prevent your app from running away) or you just cannot run an event loop system under that kind of load (or maybe this is a bug in Node.js itself?). |
Oh, so maybe I´m going to open an issue within the Node Github repo. I need to make some measurements for my university degree, so I´ll stay at some distance to the threshold which causes the crashes. Good to have your explanation in case I have to justify myself for any sideeffects. |
Hi @mklueh your last response didn't seem like there was anything to act on here, and it's been a few months. I'm going to close this issue, but please let me know if you would like it re-opened! |
@dougwilson I use v6.3.1 and this happens to me too. Forgive my naivety but what do you mean by
It clearly waits for the time I gave it to elapse (even when a client is attempting to make a mysql connection), then shuts down on its own.
As it stands, this does me no good either. I set the
The best thing is to post the relevant parts of my code here so you can see what is causing the compiler (yes, with the errors I'm getting, Node is definitely compiled) to scream at every little turn I make. Here goes:
|
Sorry, I guess the conversation in this thread was a little confusing :) This issue is that the library throws a timeout error when the server's CPU is sitting at 100%. When that happens, the Node.js process never end sup getting enough time to actually read from the socket before the wall clock-based timer expires. By the time the process is swapped back to Node.js running on the CPU, it's already past the timer expiration. |
Oh. Thank you for replying. So your point is, my server's CPU allocation should never utilise its allocation fully but should make room for the mysql module and its connections? |
Hi @nmeri17 I'm not certain what your server's CPU is doing, as you didn't provide that information :) You were questioning the conclusion and reproduction for the problem this specific issue is about, which was caused by CPU, so I was trying to clarify what this issue was about. This is an old, closed issue that was resolved. I'm unsure what issue you are having, but you should probably open a new issue to troubleshoot, so we don't keep sending the OP an email for every comment we make here :) |
I know there is another issue related to an older Node.js version, but I´m facing the same one on the latest Node.js version as well as v4.x.
I´ve also tried several timeout settings, but it´s not getting better.
The text was updated successfully, but these errors were encountered: