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

BulkActionDescriptor should have a merge method

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 11.x
    • Component/s: Bulk, Streams

      Description

      We saw during NXP-29503 that overriding a BulkActionDescriptor forces us to redefine all fields.

      We shouldn't have to do that, the submitted contribution should override the default one allowing us to only override what we want.

      For instance, declaring such extension:

        <extension target="org.nuxeo.ecm.core.bulk" point="actions">
          <action name="index" bucketSize="1000" batchSize="50" enabled="true" />
        </extension>
      

      leads to the following error:

      java.lang.IllegalArgumentException: Unknown stream: Name{id='index', urn='index'}
        at org.nuxeo.lib.stream.computation.log.LogStreamManager.append(LogStreamManager.java:93) ~[nuxeo-stream-11.3.3.jar:?]
        at org.nuxeo.lib.stream.computation.internals.ComputationContextImpl.produceRecordImmediate(ComputationContextImpl.java:120) ~[nuxeo-stream-11.3.3.jar:?]
        at org.nuxeo.ecm.core.bulk.computation.BulkScrollerComputation.produceBucket(BulkScrollerComputation.java:274) ~[nuxeo-core-bulk-11.3.3.jar:?]
        at org.nuxeo.ecm.core.bulk.computation.BulkScrollerComputation.processRecord(BulkScrollerComputation.java:162) ~[nuxeo-core-bulk-11.3.3.jar:?]
        at org.nuxeo.ecm.core.bulk.computation.BulkScrollerComputation.processRecord(BulkScrollerComputation.java:131) ~[nuxeo-core-bulk-11.3.3.jar:?]
        at org.nuxeo.lib.stream.computation.log.ComputationRunner.lambda$processRecordWithRetry$10(ComputationRunner.java:463) ~[nuxeo-stream-11.3.3.jar:?]
        at net.jodah.failsafe.Functions$10.call(Functions.java:252) [failsafe-1.1.0.jar:1.1.0]
        at net.jodah.failsafe.SyncFailsafe.call(SyncFailsafe.java:145) [failsafe-1.1.0.jar:1.1.0]
        at net.jodah.failsafe.SyncFailsafe.run(SyncFailsafe.java:81) [failsafe-1.1.0.jar:1.1.0]
        at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecordWithRetry(ComputationRunner.java:463) [nuxeo-stream-11.3.3.jar:?]
        at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecordWithTracing(ComputationRunner.java:415) [nuxeo-stream-11.3.3.jar:?]
        at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecord(ComputationRunner.java:406) [nuxeo-stream-11.3.3.jar:?]
        at org.nuxeo.lib.stream.computation.log.ComputationRunner.processLoop(ComputationRunner.java:270) [nuxeo-stream-11.3.3.jar:?]
        at org.nuxeo.lib.stream.computation.log.ComputationRunner.run(ComputationRunner.java:206) [nuxeo-stream-11.3.3.jar:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:834) [?:?]
      

      whereas inputStream should have been inherited as the identifier for this contribution is the name.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                kleturc Kevin Leturc
                Participants:
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: