Dongjoon Hyun created SPARK-20345:
-------------------------------------
Summary: Fix STS error handling logic on HiveSQLException
Key: SPARK-20345
URL: https://issues.apache.org/jira/browse/SPARK-20345
Project: Spark
Issue Type: Bug
Components: SQL
Affects Versions: 2.1.0, 1.6.3
Reporter: Dongjoon Hyun
[SPARK-5100|https://github.com/apache/spark/commit/343d3bfafd449a0371feb6a88f78e07302fa7143]
added Spark Thrift UI and the following logic to handle exceptions like the
following on case `Throwable`.
{code}
HiveThriftServer2.listener.onStatementError(
statementId, e.getMessage, SparkUtils.exceptionString(e))
{code}
However, there occurs a missed case after implementing
[SPARK-6964|https://github.com/apache/spark/commit/eb19d3f75cbd002f7e72ce02017a8de67f562792]'s
`Support Cancellation in the Thrift Server` by adding case `HiveSQLException`
before case `Throwable`.
Logically, we had better add `HiveThriftServer2.listener.onStatementError` on
case `HiveSQLException`, too.
{code}
case e: HiveSQLException =>
if (getStatus().getState() == OperationState.CANCELED) {
return
} else {
setState(OperationState.ERROR)
throw e
}
// Actually do need to catch Throwable as some failures don't inherit
from Exception and
// HiveServer will silently swallow them.
case e: Throwable =>
val currentState = getStatus().getState()
logError(s"Error executing query, currentState $currentState, ", e)
setState(OperationState.ERROR)
HiveThriftServer2.listener.onStatementError(
statementId, e.getMessage, SparkUtils.exceptionString(e))
throw new HiveSQLException(e.toString)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]