DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Leaders must apply strict validation when TV is known to be >=TV2:
| Code Block |
|---|
// Pseudocode inside appendEndTxnMarker() or where checkProducerEpoch is called:
short current = updatedEntry.producerEpoch();
short marker = markerProducerEpoch;
// Check if TransactionVersion field is available (version 2+)
int txnVersion = (request.version >= 2) ? request.transactionVersion() : 1;
if (txnVersion >= 2) {
// TV2: coordinator bumps epoch before marker; duplicates carry old epoch.
// Accept only strictly greater epoch.
if (marker <= current) {
throw new InvalidProducerEpochException("Reject late/dup TV2 marker: " +
"markerEpoch=" + marker + " <= currentEpoch=" + current);
}
} else {
// Legacy behavior
if (marker < current) {
throw new InvalidProducerEpochException("Marker epoch < current.");
}
} |
...