-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Closed
Labels
lifecycle/staletype/bugThe PR fixed a bug or issue reported a bugThe PR fixed a bug or issue reported a bug
Description
Describe the bug
Produce chunk messages failed when topic level maxMessageSize is set.
See details in the following unit test case.
To Reproduce
See this new unit test code in org.apache.pulsar.broker.admin.TopicPoliciesTest
@Test
public void testMaxMessageSizeWithChunking() throws Exception {
this.conf.setMaxMessageSize(10);
@Cleanup
Producer<byte[]> producer = pulsarClient.newProducer()
.topic(persistenceTopic)
.enableChunking(true)
.enableBatching(false)
.create();
PersistentTopic topic = (PersistentTopic) pulsar.getBrokerService().getTopic(persistenceTopic,false).join().get();
byte[] data = new byte[100];
producer.send(data);
// success with maxMessageSize is 10
admin.topicPolicies().setMaxMessageSize(persistenceTopic, 10);
Awaitility.await().untilAsserted(() -> {
Assert.assertEquals((int) topic.getHierarchyTopicPolicies().getTopicMaxMessageSize().get(), 10);
});
producer.send(data);
// failed with maxMessageSize is 9
admin.topicPolicies().setMaxMessageSize(persistenceTopic, 9);
Awaitility.await().untilAsserted(() -> {
Assert.assertEquals((int) topic.getHierarchyTopicPolicies().getTopicMaxMessageSize().get(), 9);
});
producer.send(data);
}
Expected behavior
Chunking should work fine if we change maxMessageSize.
Screenshots
NA
Desktop (please complete the following information):
- OS: macOS
Additional context
NA
Metadata
Metadata
Assignees
Labels
lifecycle/staletype/bugThe PR fixed a bug or issue reported a bugThe PR fixed a bug or issue reported a bug