DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
- Active-passive (A to B): B mirrors from A, stores records as-is. On failover, barrier expires all PSM entries. Local producers get fresh PIDs from the coordinator with no collision risk.
Failback (A to B, then B to A): After failover, B becomes writable. Later, A starts mirroring from B , and truncates its log to the LSO. A then stores B's records as─isas-is. B's barrier record is included in the fetched data and appended to A's log, but it does not trigger PSM expiration triggering PSM expiration on A. This is because A is actively mirroring, not transitioning. Its PSM state reflects the mirrored data it is currently tracking, and wiping it mid─stream would break producer state consistency for the ongoing mirroring operation. When A later stops mirroring from B, A writes its own barrier, which is the correct trigger for PSM expiration on A, consistent with the general rule: when the barrier batch is encountered during append or during log recovery, all producer entries are removed from the PSM. A will write its own barrier when it eventually stops mirroring from B, producing a clean slate before A becomes writable again. The cycle can repeat safely in either direction because each failover produces clean PSM state via the barrier, and each new mirroring session starts from a truncated, offset─aligned log.
- Fan-out (A to B, A to C): B and C mirror independently from A, each with its own PSM per partition. On failover, each writes its own barrier independently.
- Fan-in (A to C, B to C, different topics): Each topic's partitions have independent PSMs. The barrier is written per partition during the STOPPING transition of each mirror.
- Chain (A to B to C): B mirrors from A, stores records as-is. C mirrors from B, stores records as-is. On failover at any point in the chain, the barrier expires all PSM entries on the stopping node. Longer chains work inductively by the same principle.
...