rreddy-22 commented on code in PR #17822: URL: https://github.com/apache/kafka/pull/17822#discussion_r1843079795
########## clients/src/main/java/org/apache/kafka/clients/producer/internals/TransactionManager.java: ########## @@ -339,24 +338,21 @@ private TransactionalRequestResult beginCompletingTransaction(TransactionResult if (!newPartitionsInTransaction.isEmpty()) enqueueRequest(addPartitionsToTransactionHandler()); - // If the error is an INVALID_PRODUCER_ID_MAPPING error, the server will not accept an EndTxnRequest, so skip - // directly to InitProducerId. Otherwise, we must first abort the transaction, because the producer will be - // fenced if we directly call InitProducerId. - if (!(lastError instanceof InvalidPidMappingException)) { - EndTxnRequest.Builder builder = new EndTxnRequest.Builder( - new EndTxnRequestData() - .setTransactionalId(transactionalId) - .setProducerId(producerIdAndEpoch.producerId) - .setProducerEpoch(producerIdAndEpoch.epoch) - .setCommitted(transactionResult.id), - isTransactionV2Enabled - ); + // We must first abort the transaction, because the producer will be Review Comment: Oh yes, this was the existing comment and I just cut it down, was actually discussing with Calvin that the wording was right! Thanks for pointing it out, will change it! ########## clients/src/main/java/org/apache/kafka/clients/producer/internals/TransactionManager.java: ########## @@ -339,24 +338,21 @@ private TransactionalRequestResult beginCompletingTransaction(TransactionResult if (!newPartitionsInTransaction.isEmpty()) enqueueRequest(addPartitionsToTransactionHandler()); - // If the error is an INVALID_PRODUCER_ID_MAPPING error, the server will not accept an EndTxnRequest, so skip - // directly to InitProducerId. Otherwise, we must first abort the transaction, because the producer will be - // fenced if we directly call InitProducerId. - if (!(lastError instanceof InvalidPidMappingException)) { - EndTxnRequest.Builder builder = new EndTxnRequest.Builder( - new EndTxnRequestData() - .setTransactionalId(transactionalId) - .setProducerId(producerIdAndEpoch.producerId) - .setProducerEpoch(producerIdAndEpoch.epoch) - .setCommitted(transactionResult.id), - isTransactionV2Enabled - ); + // We must first abort the transaction, because the producer will be Review Comment: Oh yes, this was the existing comment and I just cut it down, was actually discussing with Calvin that the wording wasn't right earlier! Thanks for pointing it out, will change it! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org