You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@livy.apache.org by GitBox <gi...@apache.org> on 2019/07/17 13:43:51 UTC

[GitHub] [incubator-livy] yantzu commented on issue #182: [LIVY-571] cleanupStatement should not throw exception when statementId not exist

yantzu commented on issue #182: [LIVY-571] cleanupStatement should not throw exception when statementId not exist
URL: https://github.com/apache/incubator-livy/pull/182#issuecomment-512260473
 
 
   Hi @mgaido91 , the rpc call from beeline when execute a query is:
   1, send sql to thriftserver, beeline code: HiveStatement.runAsyncOnServer --> thriftserver code: ThriftCLIService.ExecuteStatement
   2, get sql execute status from thriftserver, beeline code: HiveStatement.waitForOperationToComplete --> thriftserver code: ThriftCLIService.GetOperationStatus
   3, get result from thriftserver if step 2 result success
   4, close sql execute statement, beeline code: HiveStatement.close(called by Commands.executeInternal) --> thriftserver code: ThriftCLIService.CloseOperation
   
   When exception happens running a query, step 2, thrift server will return exception error message to beeline, and beeline will throw an exception to caller. However, beeline will execute step 4 regardless of the result of step 2. When step 4 request send to thriftserver, it will send a request to Spark to remove statement result but as I mentioned there is no result in ThriftSessionState, so exception is thrown to beeline, this new exception conceal the exception of step 2. 
   My fix is just to avoid exception of step 4.
   
   I have one IT to cover such case.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services