Dbeaver: Auto reconnect feature

Created on 9 Feb 2017  路  30Comments  路  Source: dbeaver/dbeaver

While I still have a bug which (we weren't able to debug and)forces me to reconnect every few seconds I become insane after longer time of using DBeaver. I would like to see a feature that makes DBeaver auto reconnect on connection lost so I never have to click this reconnect button and never have to face the error message anymore. It annoys me a lot!

feature request

All 30 comments

Not sure that auto-reconnect is a good solution for that.

Please remind me - what bug do you mean?
Is it about keep-alive configuration? There were a few fixes there recently.

Looks like it has been discussed here @serge-rider: https://github.com/serge-rider/dbeaver/issues/929#issuecomment-257960633

There are lots of different stuff discussed there.
Could you send a debug log with these connection failures? This shouldn't happen. Most likely result of some misconfiguration.

In the error console nothing specific shows up. Is there a way to enable a more deeper logging/debugging function? I will clear my logfiles then and see if I find something.

Well looks like I've checked those already and nothing in. But I will redo that step and report it to you.

Let's give it another try :)

BTW try to disable keep-alive in connection general settings.

SQL Error [08S01]: Communications link failure

The last packet successfully received from the server was 690.968 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
SQL Error [08S01]: Communications link failure

The last packet successfully received from the server was 690.968 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
Communications link failure

The last packet successfully received from the server was 690.968 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
Communications link failure

The last packet successfully received from the server was 690.968 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.

I did a lot and waited also some times - no disconnect. When I clicked through the properties view of a table (Columns, Constraints, Foreign Keys, ...) I get an instant disconnect on clicking on References.

org.jkiss.dbeaver.DBException: SQL Error [08S01]: Communications link failure

The last packet successfully received from the server was 690.968 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
at org.jkiss.dbeaver.ext.mysql.model.MySQLTable.loadForeignKeys(MySQLTable.java:431)
at org.jkiss.dbeaver.ext.mysql.model.MySQLTable.getReferences(MySQLTable.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.extractPropertyValue(DBNDatabaseNode.java:777)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.loadTreeItems(DBNDatabaseNode.java:465)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.loadChildren(DBNDatabaseNode.java:391)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.getChildren(DBNDatabaseNode.java:190)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.getChildren(DBNDatabaseNode.java:1)
at org.jkiss.dbeaver.ui.navigator.NavigatorUtils.getNodeChildrenFiltered(NavigatorUtils.java:538)
at org.jkiss.dbeaver.ui.controls.itemlist.ItemListControl$ItemLoadService.evaluate(ItemListControl.java:169)
at org.jkiss.dbeaver.ui.controls.itemlist.ItemListControl$ItemLoadService.evaluate(ItemListControl.java:1)
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:86)
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:71)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:103)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 690.968 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:981)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3465)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3365)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3805)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2547)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2505)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1370)
at com.mysql.jdbc.DatabaseMetaData$9.forEach(DatabaseMetaData.java:4631)
at com.mysql.jdbc.DatabaseMetaData$9.forEach(DatabaseMetaData.java:4622)
at com.mysql.jdbc.IterateBlock.doForAll(IterateBlock.java:50)
at com.mysql.jdbc.DatabaseMetaData.getTables(DatabaseMetaData.java:4620)
at com.mysql.jdbc.DatabaseMetaData.extractForeignKeyFromCreateTable(DatabaseMetaData.java:1271)
at com.mysql.jdbc.DatabaseMetaData$4.forEach(DatabaseMetaData.java:2961)
at com.mysql.jdbc.DatabaseMetaData$4.forEach(DatabaseMetaData.java:2950)
at com.mysql.jdbc.IterateBlock.doForAll(IterateBlock.java:50)
at com.mysql.jdbc.DatabaseMetaData.getExportedKeys(DatabaseMetaData.java:2948)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCDatabaseMetaDataImpl.getExportedKeys(JDBCDatabaseMetaDataImpl.java:1219)
at org.jkiss.dbeaver.ext.mysql.model.MySQLTable.loadForeignKeys(MySQLTable.java:314)
... 17 more
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2957)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3375)
... 35 more

and

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 690.968 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:981)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3465)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3365)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3805)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2547)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2505)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1370)
at com.mysql.jdbc.DatabaseMetaData$9.forEach(DatabaseMetaData.java:4631)
at com.mysql.jdbc.DatabaseMetaData$9.forEach(DatabaseMetaData.java:4622)
at com.mysql.jdbc.IterateBlock.doForAll(IterateBlock.java:50)
at com.mysql.jdbc.DatabaseMetaData.getTables(DatabaseMetaData.java:4620)
at com.mysql.jdbc.DatabaseMetaData.extractForeignKeyFromCreateTable(DatabaseMetaData.java:1271)
at com.mysql.jdbc.DatabaseMetaData$4.forEach(DatabaseMetaData.java:2961)
at com.mysql.jdbc.DatabaseMetaData$4.forEach(DatabaseMetaData.java:2950)
at com.mysql.jdbc.IterateBlock.doForAll(IterateBlock.java:50)
at com.mysql.jdbc.DatabaseMetaData.getExportedKeys(DatabaseMetaData.java:2948)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCDatabaseMetaDataImpl.getExportedKeys(JDBCDatabaseMetaDataImpl.java:1219)
at org.jkiss.dbeaver.ext.mysql.model.MySQLTable.loadForeignKeys(MySQLTable.java:314)
at org.jkiss.dbeaver.ext.mysql.model.MySQLTable.getReferences(MySQLTable.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.extractPropertyValue(DBNDatabaseNode.java:777)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.loadTreeItems(DBNDatabaseNode.java:465)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.loadChildren(DBNDatabaseNode.java:391)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.getChildren(DBNDatabaseNode.java:190)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.getChildren(DBNDatabaseNode.java:1)
at org.jkiss.dbeaver.ui.navigator.NavigatorUtils.getNodeChildrenFiltered(NavigatorUtils.java:538)
at org.jkiss.dbeaver.ui.controls.itemlist.ItemListControl$ItemLoadService.evaluate(ItemListControl.java:169)
at org.jkiss.dbeaver.ui.controls.itemlist.ItemListControl$ItemLoadService.evaluate(ItemListControl.java:1)
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:86)
at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:71)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:103)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2957)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3375)
... 35 more

Try to disable separate metadata connection (Preferences->Database->Metadata->Open separate connection for metadata read) and disable SQL editor connections (Preferences->General->Editors->SQL Editor->Open separate connection for each editor).

If this won't help then please send me full debug log on [email protected].
This is too brief. I need to know the environment and what happened before and after actual error.

I applied this and will test now.

Serge, I have very similar problem. Our firewall closes all connections older than 2 hours. Although I have keep_alive enabled (value 60), I still have to manually Invalidate/reconnect in order to have working connection. Please fix this, it is very annoying in otherwise wonderful product.
I disabled both options and will test, thanks for help.

@serge-rider I can't reproduce it anymore now. So it's related to one of these 2 options you have mentioned.

I have to correct myself: It must be related to separate connection for metadata reading as the second option you've had mentioned was already disabled in my case.

Edit: I just re-enabled metadata reading with own connection and first thing I see is a communication link failure!

Well, for some reason you server kill connections if multiple queries are executed simultaneously. Standard MySQL/MariaDB servers don't have such limitation (it makes a lot of server-side applications useless).

So, disabling separate metadata connection solves this issue. Good.

@petrvalkoun-gooddata Not sure that you have the same issue. If firewall configured to kill any connection which is older than 2 hours then keep-alive won't help. Maybe auto-reconnect feature makes sense in your case..

Well, are we sure that my server does kill it? I didn't change something like that and like you said - it sounds stupid and isn't standard.

Can I debug if DBeaver is possible to make 2 connections or if it just fails internally? I'm sure (:P) it's not my MariaDB-Server at fault.

Well, I can't be 100% sure. But I have tens of test MySQL/MariaDB servers and I never saw such behavior.

Maybe problem is in MariaDB driver version. Try to use the most recent one (honestly MariaDB JDBC drivers are quite buggy). Or try to use MySQL driver instead.

Ah, I see that you are using MySQL driver already. Then try MariaDB driver (most recent version).

I don't want to celebrate too early but it looks like it was a MySQL-driver fault or incompatibility @serge-rider. I will post here if this issue comes back again, otherwise I will close this issue next days. Thanks!

Serge, you are correct, it did not fix my problem, so I believe only the mentioned auto-reconnect feature will resolve it. Hope it will be added soon :)

There is one problem with auto-reconnect.
It requires to re-do last operations (which was failed because of broken connection) - because otherwise metadata may be corrupted.
When you see error message you know that something went wrong, do reconnect and, maybe, refresh or even reconnect.
If auto-reconnect will happen silently you will never know that something was wrong. DBeaver must refresh data/metadata so it must look like there was no error.

That's not so easy. I'll mark this as FR but can't yet say when it will be implemented.

Serge,

this is good point, but I can imagine that when it fails during statement execution, it can produce modal window notifying you that error occurred, so you can decide what to do (manually). However, I believe that usually the connection is lost during idle times, when nothing is happening, like when you switch from wifi to cable, your laptop goes to sleep or when some firewall or even the server decides that he does not like your long-living connection any more. In that case, the reconnect should be pretty safe and straight forward, at least from my user perspective. Or at least, for the time being, before you decide how to do some final solution,, please add reconnect button to the existing modal window notifying me that the connection is lost. Even that would be most helpful.

And most importantly, add donate button! I would love to donate at least some amount for you superb product and support. thanks a lot

Reconnect button already presents in modal error dialog (it appears if DBeaver can determine that error was caused by network failure - usually by standard error code). If you don't see it - most likely you use some bad driver and this problem can't be resolved.
default
What is your database/driver? Please send me error message (or stacktrace) of the error which you see after disconnect.

Good point about disconnect in idle time.
I can add this function (auto-reconnect) in keep-alive procedure. So once keep-alive query will fail DBeaver will automatically reconnect. This approach won't work in 100% cases but still is very helpful. And easy to implement.

In regards to donate button - I'm going to release commercial EE version soon (#1145). Buying it would be the best way to support DBeaver :)

I am using following JDBC driver: https://developer.gooddata.com/downloads/dss/ads-driver.zip
it is customized HP Vertica driver enriched of some security and multi-tenant features.
connection_error

here is complete Stack Trace:

org.jkiss.dbeaver.model.exec.DBCException: SQL Error: Connection problem, connection_id=91b9428f-3b24-4cec-9c9e-75141ad03336
    at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:141)
    at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:344)
    at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:708)
    at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:1686)
    at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:92)
    at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:103)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.sql.SQLException: Connection problem, connection_id=91b9428f-3b24-4cec-9c9e-75141ad03336
    at com.gooddata.dss.jdbc.driver.DssStatement.execute(DssStatement.java:206)
    at com.gooddata.dss.jdbc.driver.DssStatement.execute(DssStatement.java:173)
    at com.gooddata.dss.jdbc.driver.DssStatement.execute(DssStatement.java:458)
    at com.gooddata.dss.jdbc.driver.DssStatement.execute(DssStatement.java:159)
    at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:345)
    at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:138)
    ... 6 more
Caused by: org.apache.thrift.transport.TTransportException: java.net.SocketException: Connection closed by remote host
    at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:147)
    at org.apache.thrift.protocol.TBinaryProtocol.writeString(TBinaryProtocol.java:174)
    at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$execute_args$execute_argsStandardScheme.write(JdbcProxy.java:7816)
    at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$execute_args$execute_argsStandardScheme.write(JdbcProxy.java:7771)
    at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$execute_args.write(JdbcProxy.java:7717)
    at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:63)
    at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$Client.send_execute(JdbcProxy.java:426)
    at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$Client.execute(JdbcProxy.java:417)
    at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.gooddata.dss.jdbc.driver.DssSynchronizedClientProxy.invoke(DssSynchronizedClientProxy.java:43)
    at com.sun.proxy.$Proxy21.execute(Unknown Source)
    at com.gooddata.dss.jdbc.driver.DssStatement.execute(DssStatement.java:191)
    ... 11 more
Caused by: java.net.SocketException: Connection closed by remote host
    at sun.security.ssl.SSLSocketImpl.checkWrite(Unknown Source)
    at sun.security.ssl.AppOutputStream.write(Unknown Source)
    at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
    at java.io.BufferedOutputStream.write(Unknown Source)
    at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:145)
    ... 24 more


eclipse.buildId=unknown
java.version=1.8.0_121
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en
Command-line arguments:  -os win32 -ws win32 -arch x86_64

Thanks.
Indeed, driver doesn't provide valid information about error nature.
But I think I can detect connection fail by SocketException.

Fixing this would be most welcome :)

Serge, I have upgraded to 4.0.1 and now I see these error messages, which I guess are related to this new feature:

Last error:
An internal error occurred during: "Refresh transaction monitor".

Stack Trace:
java.lang.NullPointerException
at org.jkiss.dbeaver.model.qm.QMUtils.getTransactionState(QMUtils.java:123)
at org.jkiss.dbeaver.ui.controls.txn.TransactionMonitorToolbar$MonitorPanel.updateTransactionsInfo(TransactionMonitorToolbar.java:205)
at org.jkiss.dbeaver.ui.controls.txn.TransactionMonitorToolbar$RefreshJob.run(TransactionMonitorToolbar.java:105)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

different error:
Can't find sessionInfo meta information: F4DD66D6-4E83-F07B-6A15-B0E059AC4B3E-15a66848a91-619ac9e3c5d87b8e:SQLEditor

(no stack trace available)

then this error message::
Error closing connection
(no stack trace available)


its child error:
Connection problem, connection_id=fcd28cb9-1a5e-45e2-9289-0604952a2f63
stack trace:
java.sql.SQLException: Connection problem, connection_id=fcd28cb9-1a5e-45e2-9289-0604952a2f63
at com.gooddata.dss.jdbc.driver.DssConnection.close(DssConnection.java:153)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource$1.run(JDBCDataSource.java:235)
at org.jkiss.dbeaver.utils.RuntimeUtils$MonitoringTask.run(RuntimeUtils.java:254)
at org.jkiss.dbeaver.utils.RuntimeUtils$1.run(RuntimeUtils.java:200)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:102)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.apache.thrift.transport.TTransportException: java.net.SocketException: Connection closed by remote host
at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:161)
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:65)
at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$Client.send_close(JdbcProxy.java:399)
at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$Client.close(JdbcProxy.java:392)
at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.gooddata.dss.jdbc.driver.DssSynchronizedClientProxy.invoke(DssSynchronizedClientProxy.java:43)
at com.sun.proxy.$Proxy21.close(Unknown Source)
at com.gooddata.dss.jdbc.driver.DssConnection.close(DssConnection.java:147)
... 5 more
Caused by: java.net.SocketException: Connection closed by remote host
at sun.security.ssl.SSLSocketImpl.checkWrite(Unknown Source)
at sun.security.ssl.AppOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:159)
... 14 more


another child error:
java.net.SocketException: Connection closed by remote host

stack trace:
org.apache.thrift.transport.TTransportException: java.net.SocketException: Connection closed by remote host
at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:161)
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:65)
at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$Client.send_close(JdbcProxy.java:399)
at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$Client.close(JdbcProxy.java:392)
at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.gooddata.dss.jdbc.driver.DssSynchronizedClientProxy.invoke(DssSynchronizedClientProxy.java:43)
at com.sun.proxy.$Proxy21.close(Unknown Source)
at com.gooddata.dss.jdbc.driver.DssConnection.close(DssConnection.java:147)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource$1.run(JDBCDataSource.java:235)
at org.jkiss.dbeaver.utils.RuntimeUtils$MonitoringTask.run(RuntimeUtils.java:254)
at org.jkiss.dbeaver.utils.RuntimeUtils$1.run(RuntimeUtils.java:200)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:102)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.net.SocketException: Connection closed by remote host
at sun.security.ssl.SSLSocketImpl.checkWrite(Unknown Source)
at sun.security.ssl.AppOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:159)
... 14 more


and another child error:
Connection closed by remote host

Stack Trace:
java.net.SocketException: Connection closed by remote host
at sun.security.ssl.SSLSocketImpl.checkWrite(Unknown Source)
at sun.security.ssl.AppOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:159)
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:65)
at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$Client.send_close(JdbcProxy.java:399)
at com.gooddata.datawarehouse.jdbc.common.JdbcProxy$Client.close(JdbcProxy.java:392)
at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.gooddata.dss.jdbc.driver.DssSynchronizedClientProxy.invoke(DssSynchronizedClientProxy.java:43)
at com.sun.proxy.$Proxy21.close(Unknown Source)
at com.gooddata.dss.jdbc.driver.DssConnection.close(DssConnection.java:147)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource$1.run(JDBCDataSource.java:235)
at org.jkiss.dbeaver.utils.RuntimeUtils$MonitoringTask.run(RuntimeUtils.java:254)
at org.jkiss.dbeaver.utils.RuntimeUtils$1.run(RuntimeUtils.java:200)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:102)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
refresh transaction monitor

See attached screenshot for more info. Thanks for any insights!

It is related to new feature "Transaction monitor". There is another bug for that: #1327

Serge, it works flawlessly, many thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lrweck picture lrweck  路  38Comments

netroby picture netroby  路  38Comments

osrojas picture osrojas  路  29Comments

cldscchttn picture cldscchttn  路  53Comments

MrBrax picture MrBrax  路  50Comments