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 e60c38c60a925867d38b56ea1924b2472c0a94d6..553df6a5abfa4b2493f5f1cb6e095d893e799046 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