Hello everyone, 




We are encountering some issues with NiFi's Kafka Producer restarting 
frequently. Given that we are utilizing transactions, we have some concerns 
regarding the logic governing the Transactional ID. Specifically, we're 
interested in understanding why the transactional.id's trailing UUID, generated 
by NiFi, changes across restarts, consequently leading to a change in the 
Producer ID (PID). 




Our understanding is that for a Kafka producer to maintain idempotence and 
support exactly-once semantics, it should retain the PID to identify the same 
producer instance across process restarts. By preserving the transactional 
producer's unique identifier and incrementing the associated epoch, any 
producers with the same transactional ID but an older epoch are deemed inactive 
and subsequently barred, resulting in rejection of future transactional writes 
from those producers. 




We fail to see how a continually changing PID aligns with the expected behavior 
of Kafka transactions. Thus, we are seeking clarification on why the NiFi 
producer operates in this manner concerning transactions. 

Best regards, 

Tirso 

----------------------------------------- 
Tirso del Rey 
[ https://www.zylk.net/ | ZYLK.net ] :: consultoría.openSource 
Ribera de Axpe, 11 
Edificio A, modulo 201-203 
48950 Erandio (Bizkaia) 
ofic.: +34 944272119 
----------------------------------------- 
Esta comunicación y su contenido, incluidos los datos personales, son 
confidenciales, y para uso exclusivo del destinatario/s al/os que se dirige/n. 
Si ha recibido este mensaje por error, le rogamos nos lo notifique 
inmediatamente por esta misma vía y proceda a su eliminación. Consulte 
información detallada sobre el tratamiento de datos en zylk.net 

Reply via email to