You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Anna Povzner (JIRA)" <ji...@apache.org> on 2019/06/04 20:04:00 UTC

[jira] [Created] (KAFKA-8481) Clients may fetch incomplete set of topic partitions just after topic is created

Anna Povzner created KAFKA-8481:
-----------------------------------

             Summary: Clients may fetch incomplete set of topic partitions just after topic is created
                 Key: KAFKA-8481
                 URL: https://issues.apache.org/jira/browse/KAFKA-8481
             Project: Kafka
          Issue Type: Bug
    Affects Versions: 2.2.1
            Reporter: Anna Povzner


KafkaConsumer#partitionsFor() or AdminClient#describeTopics() may return incomplete set of partitions for the given topic if the topic just got created.

Cause: When topic gets created, in most cases, controller sends partitions of this topics via several UpdateMetadataRequests (vs. one UpdateMetadataRequest with all partitions). First UpdateMetadataRequest contains partitions for which this broker hosts replicas, and then one or more UpdateMetadataRequest for the remaining partitions. This means that if a broker gets topic metadata requests between first and last UpdateMetadataRequest, the response will contain only subset of topic partitions.

Proposed fix: In KafkaController#processTopicChange(), before calling OnNewPartitionCreation(), send UpdateRequestMetadata with partitions of new topics (addedPartitionReplicaAssignment) to all live brokers.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)