[
https://issues.apache.org/jira/browse/KAFKA-14657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Edoardo Comar resolved KAFKA-14657.
-----------------------------------
Resolution: Duplicate
duplicate of https://issues.apache.org/jira/browse/KAFKA-16570
> Admin.fenceProducers fails when Producer has ongoing transaction - but
> Producer gets fenced
> -------------------------------------------------------------------------------------------
>
> Key: KAFKA-14657
> URL: https://issues.apache.org/jira/browse/KAFKA-14657
> Project: Kafka
> Issue Type: Bug
> Components: admin
> Reporter: Edoardo Comar
> Assignee: Edoardo Comar
> Priority: Major
> Attachments: FenceProducerDuringTx.java, FenceProducerOutsideTx.java
>
>
> Admin.fenceProducers()
> fails with a ConcurrentTransactionsException if invoked when a Producer has a
> transaction ongoing.
> However, further attempts by that producer to produce fail with
> InvalidProducerEpochException and the producer is not re-usable,
> cannot abort/commit as it is fenced.
> An InvalidProducerEpochException is also logged as error on the broker
> [2023-01-27 17:16:32,220] ERROR [ReplicaManager broker=1] Error processing
> append operation on partition topic-0 (kafka.server.ReplicaManager)
> org.apache.kafka.common.errors.InvalidProducerEpochException: Epoch of
> producer 1062 at offset 84 in topic-0 is 0, which is smaller than the last
> seen epoch
>
> Conversely, if Admin.fenceProducers()
> is invoked while there is no open transaction, the call succeeds and further
> attempts by that producer to produce fail with ProducerFenced.
> see attached snippets
> As the caller of Admin.fenceProducers() is likely unaware of the producers
> state, the call should succeed regardless
--
This message was sent by Atlassian Jira
(v8.20.10#820010)