You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Another area which seems important is "producer epoch", which I think is incremented after each EndTxn or InitProducerId. There is probably some logic to handle this epoch number.
Maybe an intial PR could only implement FindCoordinator + InitProducerId phase?
The text was updated successfully, but these errors were encountered:
Some of my thoughts/observations (maybe useful?):
Looking at packet captures, it seems that transactional producer initializes itself in such fashion:
FindCoordinator
packets: It gets the coordinator IP & port (and connects to it?)InitProducerId
packet: It sendsproducer_id
(only to coordinator?)Afterwards, when sending messages using
Produce
request:AddPartitionsToTxn
requestsProduce
request - sets appropriate fields (transactional_id
field) and inside records there isproducer_epoch
(is this also set?)Commit or abort:
EndTxn
requestBTW: Best source for packets specification is: https://github.com/apache/kafka/tree/trunk/clients/src/main/resources/common/message (official Kafka protocol website can be outdated!)
Another area which seems important is "producer epoch", which I think is incremented after each
EndTxn
orInitProducerId
. There is probably some logic to handle thisepoch
number.Maybe an intial PR could only implement
FindCoordinator
+InitProducerId
phase?The text was updated successfully, but these errors were encountered: