The GitHub Actions job "Backport Approval Check" on 
texera.git/fix/pyamber-one-to-one-flush has failed.
Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).

Head commit for run:
1b89f04132ae64237f5cd417dce1eb53b5691fcf / Xinyuan Lin <[email protected]>
fix(pyamber): flush a one-to-one link only to its receiver

OneToOnePartitioner.flush(to, ecm) ignored `to`. OutputManager.emit_ecm
flushes every link for each output channel, so on a Python worker with
a one-to-one link next to another output link, the first channel
flushed took the one-to-one link's pending tuples, and every channel
that was not the link's receiver got an extra copy of its ECM. Unless
that first channel was the one-to-one receiver's, the receiver lost its
last tuples.

flush now yields nothing unless `to` is the receiver, and leaves the
pending batch for that receiver's own flush, as the round-robin, hash
and range partitioners and Scala's per-receiver NetworkOutputBuffer do.

The input-port materialization reader relied on flush ignoring `to`.
It built its one-to-one partitioner with the worker's
ActorVirtualIdentity, while the coordinator gives every reader a
channel sent by the reader's virtual actor, so the partitioner had no
receiver and a replay died once it filled a batch. Build it with the
name of the reader's virtual actor.

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

With regards,
GitHub Actions via GitBox

Reply via email to