Closed niels-van-den-broeck closed 5 months ago
does it help if you pass enableKeepAlive: false
to connection config?
does it help if you pass
enableKeepAlive: false
to connection config?
Unfortunately the error still occurs after adding it to the config.
To give some additional context, we are running on Node 20.11.1.
This is blocking us from updating to a version which no longer has security vulnerabilities. Is there any way we can look into what's causing this issue?
Are you confident it's https://github.com/sidorares/node-mysql2/pull/2043 change that is causing the issue? Can you try to revert that change manually after installing latest version?
After patching manually unfortunately that seemed to not be the issue. We've decided to roll down our versions 1 by 1, and the last one that seems to not have the issue was 3.3.1
So after updating to 3.3.2 we started seeing the issue again. Which when looking at release notes only introduced this
Hello!
I recently discussed issue #10872: QueryFailedError: read ECONNRESET with @niels-van-den-broeck. It appears that changes between the last version and version 3.3.1
have introduced an ECONNRESET error.
I haven't pinpointed the exact cause yet, but I conducted tests on both AWS RDS and an on-premise server. Interestingly, the error does not occur on AWS RDS, but it does manifest in the on-premise environment.
Could you help us understand what might be causing this discrepancy?
Thank you!
@sidorares It seems like setting the default forkeepAliveInitialDelay
to 0 is what is causing this issue.
The node documentation is also kind of vague about this default. (note the or previous part of the scentence).
Would it be ok if I'd create a PR to remove this default on the mysql2 side again?
As of right now it's not possible to pass in undefined
since it's overwritten.
Hello!
I recently discussed issue #10872: QueryFailedError: read ECONNRESET with @niels-van-den-broeck. It appears that changes between the last version and version
3.3.1
have introduced an ECONNRESET error.I haven't pinpointed the exact cause yet, but I conducted tests on both AWS RDS and an on-premise server. Interestingly, the error does not occur on AWS RDS, but it does manifest in the on-premise environment.
Could you help us understand what might be causing this discrepancy?
Thank you!
Sorry for jumpin, we also face this problem on our on prem server (typeORM on nestjs), and we check that mysql2 thinks that the connection still alive even it's broken, so we resort with setting maxIdle: 0
on the typeORM layer to mysql2 config, so any open connection after used is closed. This make no error after that. I do know that it make a performance hit to the application as a roundtrip to re-establish connection to the DB takes time, but well.. that's what we can only think for now as we rely on the framework.
Any feedback on this would be welcome
Would it be ok if I'd create a PR to remove this default on the mysql2 side again? As of right now it's not possible to pass in undefined since it's overwritten.
Sorry, missed that message @niels-van-den-broeck . If thats the case this is probably a bug, feel fee to open a PR
After introduction of https://github.com/sidorares/node-mysql2/pull/2043, our application seems to be getting the following error (seemingly at random):
We use the mysql dialect for kysely which receives a pool created in this library. the pool is created as follows:
All versions before 3.3.5 work just fine. Right now this happens relatively often, but we can't seem to find a pattern of when/how it triggers.
Any potential help / input would be welcome.