diff --git beeline/src/java/org/apache/hive/beeline/Commands.java beeline/src/java/org/apache/hive/beeline/Commands.java index 99ee82c..3ee609e 100644 --- beeline/src/java/org/apache/hive/beeline/Commands.java +++ beeline/src/java/org/apache/hive/beeline/Commands.java @@ -1324,16 +1324,18 @@ private void debug(String message) { } private void updateQueryLog() { - try { - List queryLogs = hiveStatement.getQueryLog(); - for (String log : queryLogs) { - commands.beeLine.info(log); - } - if (!queryLogs.isEmpty()) { - notifier.operationLogShowedToUser(); + if (hiveStatement.hasMoreLogs()) { + try { + List queryLogs = hiveStatement.getQueryLog(); + for (String log : queryLogs) { + commands.beeLine.info(log); + } + if (!queryLogs.isEmpty()) { + notifier.operationLogShowedToUser(); + } + } catch (SQLException e) { + commands.error(new SQLWarning(e)); } - } catch (SQLException e) { - commands.error(new SQLWarning(e)); } } @@ -1364,6 +1366,9 @@ private void showRemainingLogsIfAny(Statement statement) { HiveStatement hiveStatement = (HiveStatement) statement; List logs = null; do { + if (!hiveStatement.hasMoreLogs()) { + return; + } try { logs = hiveStatement.getQueryLog(); } catch (SQLException e) { diff --git jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java index a0aea72..1b64479 100644 --- jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java +++ jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java @@ -315,9 +315,11 @@ private void runAsyncOnServer(String sql) throws SQLException { isExecuteStatementFailed = false; } catch (SQLException eS) { isExecuteStatementFailed = true; + isLogBeingGenerated = false; throw eS; } catch (Exception ex) { isExecuteStatementFailed = true; + isLogBeingGenerated = false; throw new SQLException(ex.toString(), "08S01", ex); } }