override def GetOperationStatus()

in thriftserver/server/src/main/scala/org/apache/livy/thriftserver/cli/ThriftCLIService.scala [531:569]


  override def GetOperationStatus(req: TGetOperationStatusReq): TGetOperationStatusResp = {
    val resp = new TGetOperationStatusResp
    val operationHandle = new OperationHandle(req.getOperationHandle)
    try {
      val operationStatus = cliService.getOperationStatus(operationHandle, req.isGetProgressUpdate)
      resp.setOperationState(operationStatus.state.toTOperationState)
      resp.setErrorMessage(operationStatus.state.getErrorMessage)
      val opException = operationStatus.operationException
      resp.setOperationStarted(operationStatus.operationStarted)
      resp.setOperationCompleted(operationStatus.operationCompleted)
      resp.setHasResultSet(operationStatus.hasResultSet)
      val executionStatus = TJobExecutionStatus.NOT_AVAILABLE
      resp.setProgressUpdateResponse(new TProgressUpdateResp(
        Collections.emptyList[String],
        Collections.emptyList[util.List[String]],
        0.0D,
        executionStatus,
        "",
        0L))
      if (opException != null) {
        resp.setSqlState(opException.getSQLState)
        resp.setErrorCode(opException.getErrorCode)
        if (opException.getErrorCode == 29999) {
          resp.setErrorMessage(StringUtils.stringifyException(opException))
        } else {
          resp.setErrorMessage(opException.getMessage)
        }
      } else if (OperationType.EXECUTE_STATEMENT == operationHandle.getOperationType) {
        resp.getProgressUpdateResponse.setProgressedPercentage(
          getProgressedPercentage(operationHandle))
      }
      resp.setStatus(ThriftCLIService.OK_STATUS)
    } catch {
      case e: Exception =>
        warn("Error getting operation status: ", e)
        resp.setStatus(HiveSQLException.toTStatus(e))
    }
    resp
  }