The GitHub Actions job "Build" on texera.git/test/fix-align-ecm-flake has 
succeeded.
Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).

Head commit for run:
b8b51cad4631e326f639295ab4aa2f8d79b88f41 / Yicong Huang 
<[email protected]>
test(amber-python): per-channel sync in test_main_loop_thread_can_align_ecm

Replace the order-tolerant drain-then-group-by-type approach with an
explicit per-channel synchronization that better expresses the actual
production semantics:

1. Wait until both expected channels (the data channel to the downstream
   worker, and the control channel back to "sender") have their item in
   output_queue's sub-queues. Sub-queues are added lazily on first put,
   so guard against the missing-key case before reading size.
2. Drain two items via priority get(), key them by tag, and assert each
   per channel — DataElement on the data channel, DCMElement carrying
   the NoOperation reply on the control channel.

This matches what production guarantees:
  - control to coordinator outranks data on egress (cross-channel
    priority — kept by InternalQueue);
  - within a channel sub-queue, FIFO is preserved (so ECM behind data on
    the same data channel stays behind data).

The previous fixed-order assertion only worked on a fast machine where
the test popped between the two production puts. The earlier
order-tolerant version sidestepped the issue but lost the per-channel
intent. This version makes the channel scope explicit, fails fast with
a descriptive timeout instead of hanging, and runs deterministically on
both fast and slow runners.

Closes #4524

Report URL: https://github.com/apache/texera/actions/runs/24949975697

With regards,
GitHub Actions via GitBox

Reply via email to