Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
A           B           C
5 -------> -7 -------> -7
            5 -------> -7 # collision

The consequences of We identified the following scenarios caused by interleaving records from a PID collision cannot be ignored:

...

  1. Same epoch, wrong sequence

...

  1. : No OutOfOrderSequenceException. Batches are silently accepted under the same PID as they are coming from the leader (append origin == REPLICATION). The PSM cache entry is updated with whatever arrives last. Silent data corruption with zero signals, not even a warning.

...

  1. Different epochs

...

  1. : No fencing exception. Lower epoch batch is accepted with a warning log. Both producers coexist under the same PID. Silent corruption, only a WARN log line as a hint.

...

  1. Transactional interleaving

...

  1. : Commit/abort markers from one producer close the other's transaction. No exception. Silent transaction corruption.

New approach: bit-field mapping with collision detection

...