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)