Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-10653 Introduce Pluggable Shuffle Service Architecture
  3. FLINK-13435

Remove ShuffleDescriptor.ReleaseType and make release semantics fixed per partition type

    XMLWordPrintableJSON

Details

    Description

      In a long term we do not need auto-release semantics for blocking (persistent) partition. We expect them always to be released externally by JM and assume they can be consumed multiple times.

      The pipelined partitions have always only one consumer and one consumption attempt. Afterwards they can be always released automatically.

      ShuffleDescriptor.ReleaseType was introduced to make release semantics more flexible but it is not needed in a long term.

      FORCE_PARTITION_RELEASE_ON_CONSUMPTION was introduced as a safety net to be able to fallback to 1.8 behaviour without the partition tracker and JM taking care about blocking partition release. We can make this option specific for NettyShuffleEnvironment which was the only existing shuffle service before. If it is activated then the blocking partition is also auto-released on a consumption attempt as it was before. The fine-grained recovery will just not find the partition after the job restart in this case and will restart the producer.

      Attachments

        Issue Links

          Activity

            People

              azagrebin Andrey Zagrebin
              azagrebin Andrey Zagrebin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m