Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-1050

PipelineResult.State is not set to FAILED when a streaming job fails

Details

    • Bug
    • Status: Resolved
    • P3
    • Resolution: Fixed
    • None
    • 0.4.0
    • runner-spark
    • None

    Description

      In case of failure, SteamingContext#awaitTerminationOrTimeout and SteamingContext#awaitTermination will both throw an exception, and so state = State.DONE will not be executed in the code block below.

      In addition, it would probably make sense to set state = State.FAILED in cases where an exception takes place.

      if (isStreamingPipeline()) {
            // stop streaming context
            if (timeout > 0) {
              jssc.awaitTerminationOrTimeout(timeout);
            } else {
              jssc.awaitTermination();
            }
            // stop streaming context gracefully, so checkpointing (and other computations) get to
            // finish before shutdown.
            jssc.stop(false, gracefully);
          }
          state = State.DONE;
      

      Attachments

        Issue Links

          Activity

            People

              staslev Stas Levin
              staslev Stas Levin
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: