MySQL (Amazon RDS) connections "expire" silently; further queries hang DBeaver #287
|
When I connect to any of my Amazon RDS databases, wait a while (~20 minutes) and then run any query, DBeaver behaves as though the query is taking a long time to run. If I click "Cancel" the button simply turns grey. Whether I hit cancel or not, I am eventually told:
This is on DBeaver 3.6.2 (and many previous) for Ubuntu x64. |
Replies: 6 comments
|
Once you eventually get the "Communications link failure", DBeaver is responsive again, right? It's simply while it's trying to run the query that DBeaver is unresponsive? How long does this last? This will be fixed by #6. |
|
Yes, DBeaver is responsive again after Communications link failure. Attempting to run the query again at that point gets: When I suspect a connection's been open too long, I Disconnect and then Connect, Almost always I can then query on that connection -- but sometimes (like 10% of the time) the disconnecting will cause it to hang. And I realize that it's only that connection that becomes unresponsive. I can select and query other connections while waiting for Communications link failure. How long does this last? 1095 seconds, at last attempt. Great to hear a fix is in the works! |
|
So the unresponsiveness lasted ~18 minutes?? Which driver are you using? |
|
Yeah, 18 minutes of unresponsiveness. Usually I kill and restart DBeaver, It's the "MySQL standard driver". On Tue, Mar 22, 2016 at 4:44 PM codebling notifications@github.com wrote:
|
|
Most likely server kills connection after some period of time. |
|
Thank you so much! On Wed, Mar 23, 2016, 06:08 Serge Rider notifications@github.com wrote:
|
Most likely server kills connection after some period of time.
Workaround: you can set driver property socketTimeout to some reasonable value (e.g. 20 seconds).
There will be one nasty side-effect. Long-running queries will fail if they will execute longer than socketTimeout.
Another workaround is to turn on connection keep-alive. This feature will be added in 3.6.3 (#6)