The GitHub Actions job "Required Checks" on 
texera.git/fix/controller-rpc-probe-cme-5546 has failed.
Run started by GitHub user kunwp1 (triggered by kunwp1).

Head commit for run:
195b7def1dfa95535469e70bf8dc378cb6cb5735 / Kunwoo Park <[email protected]>
fix(amber): prevent ConcurrentModificationException in ControllerRpcProbe

ControllerRpcProbe stored controller-to-worker RPCs in a mutable
ArrayBuffer that the actor/scheduler thread appended to while the test
thread iterated it through the read helpers (methodTrace, endWorkerCalls,
etc.). With no synchronization, an append racing a filter/map surfaced as
a hard ConcurrentModificationException under Scala 2.13's MutationTracker,
causing non-deterministic failures in RegionExecutionCoordinatorSpec.

Guard the buffer with a dedicated lock: appends synchronize on it and
readers take an immutable snapshot under the same lock before filtering.
The lock is released before fulfill() runs, so no callback executes while
the lock is held.

Add ControllerRpcProbeSpec, a stress test that races concurrent appends
against reads; it reproduces the CME deterministically before the fix and
passes after it.

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

With regards,
GitHub Actions via GitBox

Reply via email to