Skip to content

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

@damccorm

Description

@damccorm

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.  

Imported from Jira BEAM-8554. Original Jira may contain additional context.
Reported by: stevekoonce.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions