Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-25619

Coalescing Work with StreamWorkManager implementation

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 9.10, 10.2
    • Fix Version/s: 9.10-HF18, 10.3
    • Component/s: Events / Works
    • Backlog priority:
      600
    • Sprint:
      nxcore 10.3.6, nxcore 10.3.8
    • Story Points:
      1

      Description

      Work can be marked as idempotent: when scheduling multiple time the same work (same id) only the first work is executed, others are skipped.

      Without this idempotent flag, the work is executed as many times as it is scheduled.

      We want another possible behavior when scheduling many times the same work (same id): we care only about the lastest execution.

      A use case can be a long-running LazyRenditionBuilder Work load that is polled frequently and has a fast-changing source document can easily monopolize the RenditionBuilder work queue across the cluster by scheduling the same work lots of times. First, this starves Rendition Building for other Works. Second, it is extremely inefficient for multiple worker nodes in the cluster to waste time building nearly identical renditions most of which will never be delivered.

      This optimization flag can be called caolesing, the StreamWorkManager should take this flag in account.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 day, 5 hours, 30 minutes
                  1d 5h 30m