You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Barna Zsombor Klara (JIRA)" <ji...@apache.org> on 2016/11/09 09:51:59 UTC

[jira] [Created] (HIVE-15168) Flaky test: TestSparkClient.testJobSubmission (still flaky)

Barna Zsombor Klara created HIVE-15168:
------------------------------------------

             Summary: Flaky test: TestSparkClient.testJobSubmission (still flaky)
                 Key: HIVE-15168
                 URL: https://issues.apache.org/jira/browse/HIVE-15168
             Project: Hive
          Issue Type: Sub-task
            Reporter: Barna Zsombor Klara
            Assignee: Barna Zsombor Klara


[HIVE-14910|https://issues.apache.org/jira/browse/HIVE-14910] already addressed one source of flakyness bud sadly not all it seems.
In JobHandleImpl the listeners are registered after the job has been submitted.
This may end up in a racecondition.
{code}
 // Link the RPC and the promise so that events from one are propagated to the other as
      // needed.
      rpc.addListener(new GenericFutureListener<io.netty.util.concurrent.Future<Void>>() {
        @Override
        public void operationComplete(io.netty.util.concurrent.Future<Void> f) {
          if (f.isSuccess()) {
            handle.changeState(JobHandle.State.QUEUED);
          } else if (!promise.isDone()) {
            promise.setFailure(f.cause());
          }
        }
      });
      promise.addListener(new GenericFutureListener<Promise<T>>() {
        @Override
        public void operationComplete(Promise<T> p) {
          if (jobId != null) {
            jobs.remove(jobId);
          }
          if (p.isCancelled() && !rpc.isDone()) {
            rpc.cancel(true);
          }
        }
      });
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)