From 3aa998c0edaf1b853f6dd379354425f7e58fd451 Mon Sep 17 00:00:00 2001 From: Serge Rider Date: Tue, 29 Jun 2021 14:50:59 +0300 Subject: [PATCH] #12310 Hive: connection lost error recovery --- .../org/jkiss/dbeaver/ext/hive/model/HiveDataSource.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/org.jkiss.dbeaver.ext.hive/src/org/jkiss/dbeaver/ext/hive/model/HiveDataSource.java b/plugins/org.jkiss.dbeaver.ext.hive/src/org/jkiss/dbeaver/ext/hive/model/HiveDataSource.java index e60c38c60a..553df6a5ab 100644 --- a/plugins/org.jkiss.dbeaver.ext.hive/src/org/jkiss/dbeaver/ext/hive/model/HiveDataSource.java +++ b/plugins/org.jkiss.dbeaver.ext.hive/src/org/jkiss/dbeaver/ext/hive/model/HiveDataSource.java @@ -32,9 +32,13 @@ import org.jkiss.dbeaver.model.impl.sql.QueryTransformerLimit; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; import org.jkiss.dbeaver.model.sql.SQLState; +import java.sql.SQLException; + public class HiveDataSource extends GenericDataSource { private static final Log log = Log.getLog(HiveDataSource.class); + private static final String CONNECTION_CLOSED_MESSAGE = "Connection is closed"; + public HiveDataSource(DBRProgressMonitor monitor, DBPDataSourceContainer container, GenericMetaModel metaModel) throws DBException { @@ -54,6 +58,9 @@ public class HiveDataSource extends GenericDataSource { @Override public ErrorType discoverErrorType(@NotNull Throwable error) { + if (error instanceof SQLException && CONNECTION_CLOSED_MESSAGE.equals(error.getMessage())) { + return ErrorType.CONNECTION_LOST; + } String sqlState = SQLState.getStateFromException(error); if (SQLState.SQL_08S01.getCode().equals(sqlState)) { // By some reason many Hive errors have this SQL state -- GitLab