-
Notifications
You must be signed in to change notification settings - Fork 14.6k
KAFKA-18662: Return CONCURRENT_TRANSACTIONS on produce request in TV2 #18733
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thanks Calvin! Can we also add the error to the list in ProduceResponse.java? |
@@ -115,7 +115,7 @@ class ReplicaManagerTest { | |||
private var mockRemoteLogManager: RemoteLogManager = _ | |||
private var addPartitionsToTxnManager: AddPartitionsToTxnManager = _ | |||
private var brokerTopicStats: BrokerTopicStats = _ | |||
private val transactionSupportedOperation = genericErrorSupported | |||
private var transactionSupportedOperation: TransactionSupportedOperation = genericErrorSupported |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this only used in each test once? If so maybe it doesn't need to be a global var. If it's just one that uses a variant, we can define it separately in the test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated.
Errors.COORDINATOR_LOAD_IN_PROGRESS | | ||
Errors.COORDINATOR_NOT_AVAILABLE | | ||
Errors.NOT_COORDINATOR => Some(new NotEnoughReplicasException( | ||
s"Unable to verify the partition has been added to the transaction. Underlying error: ${error.toString}")) | ||
case Errors.CONCURRENT_TRANSACTIONS => | ||
if (transactionSupportedOperation != addPartition) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a PR open that can make this check easier. Depending on what goes in first, we can modify. 👍
Thanks Calvin! Looks pretty good. Just left a few minor comments. |
testAdminClientApisAuthenticationFailure and testWakeupAfterSyncGroupReceivedExternalCompletion are flaky tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Calvin!
…#18733) While testing, it was found that the not_enough_replicas error was super common and could be easily confused. Since we are already bumping the request, we can signify that the produce request may return this error and new clients can handle it (Note, the java client should be able to handle this already as a retriable error, but other client libraries may need to implement this change) Reviewers: Justine Olshan <[email protected]>
…apache#18733) While testing, it was found that the not_enough_replicas error was super common and could be easily confused. Since we are already bumping the request, we can signify that the produce request may return this error and new clients can handle it (Note, the java client should be able to handle this already as a retriable error, but other client libraries may need to implement this change) Reviewers: Justine Olshan <[email protected]>
…apache#18733) While testing, it was found that the not_enough_replicas error was super common and could be easily confused. Since we are already bumping the request, we can signify that the produce request may return this error and new clients can handle it (Note, the java client should be able to handle this already as a retriable error, but other client libraries may need to implement this change) Reviewers: Justine Olshan <[email protected]>
https://issues.apache.org/jira/browse/KAFKA-18662