You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Luke Chen (Jira)" <ji...@apache.org> on 2021/07/04 10:15:00 UTC
[jira] [Created] (KAFKA-13033) coordinator not available error
should cause add into unmap list to do a new lookup
Luke Chen created KAFKA-13033:
---------------------------------
Summary: coordinator not available error should cause add into unmap list to do a new lookup
Key: KAFKA-13033
URL: https://issues.apache.org/jira/browse/KAFKA-13033
Project: Kafka
Issue Type: Bug
Affects Versions: 3.0.0
Reporter: Luke Chen
Assignee: Luke Chen
In KIP-699, we add some handler to handle different types of operation. In the `handleError`, we didn't make the `COORDINATOR_NOT_AVAILABLE` as unmapped, to do a re-lookup. In [DescribeTransactionsHandler|[https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/admin/internals/DescribeTransactionsHandler.java#L172-L186],] [~hachikuji] has explained why `COORDINATOR_NOT_AVAILABLE` and `NOT_COORDINATOR` should be listed in unmapped, and `COORDINATOR_LOAD_IN_PROGRESS` should not.
{code:java}
case COORDINATOR_LOAD_IN_PROGRESS:
// If the coordinator is in the middle of loading, then we just need to retry
log.debug("DescribeTransactions request for transactionalId `{}` failed because the " +
"coordinator is still in the process of loading state. Will retry",
transactionalIdKey.idValue);
break;
case NOT_COORDINATOR:
case COORDINATOR_NOT_AVAILABLE:
// If the coordinator is unavailable or there was a coordinator change, then we unmap
// the key so that we retry the `FindCoordinator` request
unmapped.add(transactionalIdKey);
log.debug("DescribeTransactions request for transactionalId `{}` returned error {}. Will attempt " +
"to find the coordinator again and retry", transactionalIdKey.idValue, error);
break;
{code}
We should be consistent with it. Fix it, and the tests.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)