public void run()

in client-http/src/main/java/org/apache/livy/client/http/JobHandleImpl.java [226:269]


    public void run() {
      try {
        JobStatus status = conn.get(JobStatus.class, "/%d/jobs/%d", sessionId, jobId);
        T result = null;
        Throwable error = null;
        boolean finished = false;

        switch (status.state) {
          case SUCCEEDED:
            if (status.result != null) {
              @SuppressWarnings("unchecked")
              T localResult = (T) serializer.deserialize(ByteBuffer.wrap(status.result));
              result = localResult;
            }
            finished = true;
            break;

          case FAILED:
            // TODO: better exception.
            error = new RuntimeException(status.error);
            finished = true;
            break;

          case CANCELLED:
            isCancelled = true;
            finished = true;
            break;

          default:
            // Nothing to do.
        }
        if (finished) {
          setResult(result, error, status.state);
        } else if (status.state != state) {
          changeState(status.state);
        }
        if (!finished) {
          currentInterval = Math.min(currentInterval * 2, maxPollInterval);
          pollTask = executor.schedule(this, currentInterval, TimeUnit.MILLISECONDS);
        }
      } catch (Exception e) {
        setResult(null, e, State.FAILED);
      }
    }