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

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

Agile BoardRank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment