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)