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

Extend Bulk Service to use an External Scroller

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 11.3, 2021.0
    • Component/s: Bulk

      Description

      Today, the Bulk Service handles the scrolling part. A part which is not useful when ids are already materialized in a stream.

      We would like to introduce an external scroller type, that does nothing, in order to disable the scrolling part of the Bulk Service. We also need to add the APIs below:

      • BulkCommand.Builder#useExternalScroller in order to enable this feature
      • BulkService#appendExternalBucket in order to send bulk bucket to the right stream
      • BulkService#completeExternalScroll in order to complete scrolling (mainly for BulkStatus mechanism)

      Example of usage:

      BulkCommand command = new BulkCommand.Builder(ACTION_NAME, null, "system").useExternalScroller().build();
      String commandId = bulkService.submit(command);
      ...
      BulkBucket bulkBucket = new BulkBucket(commandId, idsList)
      bulkService.appendExternalBucket(bulkBucket);
      ...
      bulkService.completeExternalScroll(commandId, total);
      

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 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 - 6 hours
                  6h

                    PagerDuty

                    Error rendering 'com.pagerduty.jira-server-plugin:PagerDuty'. Please contact your Jira administrators.