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

Use WorkItemCommitRequest protobuf fields to signal that a WorkItem needs to be broken up

Details

    • Improvement
    • Status: Open
    • P3
    • Resolution: Unresolved
    • None
    • 2.18.0
    • runner-dataflow
    • None

    Description

      Background:

      When a WorkItemCommitRequest is generated that's bigger than the permitted size (> ~180 MB), a KeyCommitTooLargeException is logged (not thrown) and the request is still sent to the service.  The service rejects the commit, but breaks up input messages that were bundled together and adds them to new, smaller work items that will later be pulled and re-tried - likely without generating another commit that is too large.

      When a WorkItemCommitRequest is generated that's too large to be sent back to the service (> 2 GB), a KeyCommitTooLargeException is thrown and nothing is sent back to the service.

       

      Proposed Improvement

      In both cases, prevent the doomed, large commit item from being sent back to the service.  Instead send flags in the commit request signaling that the current work item led to a commit that is too large and the work item should be broken up.  

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              stevekoonce Steve Koonce
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

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