You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by "heesung-sn (via GitHub)" <gi...@apache.org> on 2023/08/24 00:31:47 UTC
[GitHub] [pulsar] heesung-sn commented on a diff in pull request #19171: [fix][broker] Allow user lookup topic name with `-partition-` but no metadata
heesung-sn commented on code in PR #19171:
URL: https://github.com/apache/pulsar/pull/19171#discussion_r1303663965
##########
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/persistent/PersistentTopicTest.java:
##########
@@ -422,4 +422,35 @@ public void testCreateNonExistentPartitions() throws PulsarAdminException, Pulsa
}
Assert.assertEquals(admin.topics().getPartitionedTopicMetadata(topicName).partitions, 4);
}
+
+ @Test
+ public void testCompatibilityWithPartitionKeyword() throws PulsarAdminException, PulsarClientException {
+ final String topicName = "persistent://prop/ns-abc/testCompatibilityWithPartitionKeyword";
+ TopicName topicNameEntity = TopicName.get(topicName);
+ String partition2 = topicNameEntity.getPartition(2).toString();
+ // Create a non-partitioned topic with -partition- keyword
+ Producer<byte[]> producer = pulsarClient.newProducer()
+ .topic(partition2)
+ .create();
+ List<String> topics = admin.topics().getList("prop/ns-abc");
+ // Close previous producer to simulate reconnect
+ producer.close();
+ // Disable auto topic creation
+ conf.setAllowAutoTopicCreation(false);
+ // Check the topic exist in the list.
+ Assert.assertTrue(topics.contains(partition2));
+ // Check this topic has no partition metadata.
+ Assert.assertThrows(PulsarAdminException.NotFoundException.class,
+ () -> admin.topics().getPartitionedTopicMetadata(topicName));
+ // Reconnect to the broker and expect successful because the topic has existed in the broker.
+ producer = pulsarClient.newProducer()
+ .topic(partition2)
+ .create();
+ producer.close();
+ // Check the topic exist in the list again.
+ Assert.assertTrue(topics.contains(partition2));
Review Comment:
we didn't call `topics = admin.topics().getList("prop/ns-abc");` again.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org