Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-18685

JobClient.getAccumulators() blocks until streaming job has finished in local environment

    XMLWordPrintableJSON

    Details

      Description

      Steps to reproduce:

      JobClient client = env.executeAsync("Test");
      
      CompletableFuture<JobStatus> status = client.getJobStatus();
      LOG.info("status = " + status.get());
      
      CompletableFuture<Map<String, Object>> accumulators = client.getAccumulators(StreamingJob.class.getClassLoader());
      LOG.info("accus = " + accumulators.get(5, TimeUnit.SECONDS));
      

      Actual behavior
      The accumulators future will never complete for a streaming job when calling this just in your main() method from the IDE.

      Expected behavior
      Receive the accumulators of the running streaming job.
      The JavaDocs of the method state the following: "Accumulators can be requested while it is running or after it has finished.".
      While it is technically true that I can request accumulators, I was expecting as a user that I can access the accumulators of a running job.
      Also, I can request accumulators if I submit the job to a cluster.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                echauchot Etienne Chauchot
                Reporter:
                rmetzger Robert Metzger
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: