jolshan commented on code in PR #12392: URL: https://github.com/apache/kafka/pull/12392#discussion_r971022152
########## clients/src/test/java/org/apache/kafka/clients/producer/internals/TransactionManagerTest.java: ########## @@ -2594,27 +2596,20 @@ public void testDropCommitOnBatchExpiry() throws InterruptedException { } catch (ExecutionException e) { assertTrue(e.getCause() instanceof TimeoutException); } + runUntil(commitResult::isCompleted); // the commit shouldn't be completed without being sent since the produce request failed. assertFalse(commitResult.isSuccessful()); // the commit shouldn't succeed since the produce request failed. - assertThrows(TimeoutException.class, commitResult::await); + assertThrows(KafkaException.class, commitResult::await); - assertTrue(transactionManager.hasAbortableError()); - assertTrue(transactionManager.hasOngoingTransaction()); + assertTrue(transactionManager.hasFatalBumpableError()); + assertFalse(transactionManager.hasOngoingTransaction()); assertFalse(transactionManager.isCompleting()); - assertTrue(transactionManager.transactionContainsPartition(tp0)); - TransactionalRequestResult abortResult = transactionManager.beginAbort(); - - prepareEndTxnResponse(Errors.NONE, TransactionResult.ABORT, producerId, epoch); - prepareInitPidResponse(Errors.NONE, false, producerId, (short) (epoch + 1)); - runUntil(abortResult::isCompleted); - assertTrue(abortResult.isSuccessful()); - assertFalse(transactionManager.hasOngoingTransaction()); - assertFalse(transactionManager.transactionContainsPartition(tp0)); + assertThrows(KafkaException.class, () -> transactionManager.beginAbort()); Review Comment: I was thinking for some longer term work we could potentially distinguish transactions by having perhaps having a bit of extra state server-side and by bumping the epoch after each transaction. But maybe this is too large of a change for now. I think you also came to the conclusion of an epoch bump but through a different path. -- 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