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

              echauchot Etienne Chauchot
              rmetzger Robert Metzger
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: