Skip to content

Resolve "Parallel scan test fails"

Valentin Valls requested to merge valentin.valls/bliss:fix-parallel-scans into master

Closes #1182 (closed)

The event processing is using a dictionary to group events by kind.

As result the strict sequence of events can be lost when many scans are executed in parallel.

-------------- first bunch of events
SCAN 1 - NEW
-------------- second bunch of events
SCAN 1 - NEW CHILD
SCAN 2 - NEW
SCAN 2 - NEW CHILD

Here SCAN 1 - NEW CHILD and SCAN 2 - NEW CHILD are grouped together -> Then SCAN 2 - NEW CHILD is processed before SCAN 2 - NEW.

This MR processes the events following the kinds first: NEW, NEW CHILD, NEW DATA, END

As result the interleave of events of many scans is still not respected, but the sequence of events for the same scan is fine.

We could achieve the same result with a much smaller patch. Using the previous loop, and iterating a fixed sequence of the key name (NEW, NEW CHILD, NEW DATA, END) to process.

Let me know what you think.

Merge request reports