Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support large input collections for Multi-instance #12692

Merged
merged 5 commits into from May 11, 2023

Commits on May 8, 2023

  1. test(qa): verify activating multi instance with large input collection

    Verifies that a multi instance with a large input collection can activate all it's
     children without running out of batch size.
     The test also verifies that batching is used for the activating.
    remcowesterhoud committed May 8, 2023
    Configuration menu
    Copy the full SHA
    4c7f25a View commit details
    Browse the repository at this point in the history
  2. test(qa): improve assertion message

    Improves the assertion message by explaining what the next steps are if it fails.
    remcowesterhoud committed May 8, 2023
    Configuration menu
    Copy the full SHA
    de94cff View commit details
    Browse the repository at this point in the history

Commits on May 11, 2023

  1. feat(engine): create ActivateProcessInstanceBatchProcessor

    Adds the ActivateProcessInstanceBatchProcessor and registers it with the Engine.
    
    This processor is responsible to handle the ProcessInstanceBatch.ACTIVATE commands.
    It is used for activating child element instance of a multi instance element in a batch-like manner.
    The index in the command is used to indicate how much children need to be activated.
    If the amount of children will exceed the max message size a followup batch command is written.
    The index of the followup command is decremented for each of the activate commands that have been send.
    remcowesterhoud committed May 11, 2023
    Configuration menu
    Copy the full SHA
    ddd34ad View commit details
    Browse the repository at this point in the history
  2. docs(protocol): add ACTIVATE explanation to index

    A batch ACTIVATE operation works different from a TERMINATE batch operation.
    During a TERMINATE the index is the key of a child element instance. For ACTIVATE it is a simple counter,
     keeping track of how many ACTIVATE commands we still need to write.
    remcowesterhoud committed May 11, 2023
    Configuration menu
    Copy the full SHA
    307c083 View commit details
    Browse the repository at this point in the history
  3. feat(engine): activate multi instance children in batches

    Instead of writing all the ACTIVATE commands for all children at once, we now use the
    ProcessInstanceBatch.ACTIVATE command instead.
    
    This command takes an index, which in this case is the amount of children that an ACTIVATE command will be written for.
    remcowesterhoud committed May 11, 2023
    Configuration menu
    Copy the full SHA
    65988a2 View commit details
    Browse the repository at this point in the history