diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java index 6942c88d870812a4d49e5574d0a93ad6c3d3eb99..3a401e1a47755886569785ac1f6b81eb61134f12 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java @@ -193,7 +193,8 @@ public class SendMessageProcessor extends AbstractSendMessageProcessor implement topicConfig = this.brokerController.getTopicConfigManager().createTopicInSendMessageBackMethod(newTopic, DLQ_NUMS_PER_GROUP, - PermName.PERM_WRITE, 0); + PermName.PERM_WRITE | PermName.PERM_READ, 0); + if (null == topicConfig) { response.setCode(ResponseCode.SYSTEM_ERROR); response.setRemark("topic[" + newTopic + "] not exist"); @@ -357,7 +358,7 @@ public class SendMessageProcessor extends AbstractSendMessageProcessor implement int queueIdInt = ThreadLocalRandom.current().nextInt(99999999) % DLQ_NUMS_PER_GROUP; topicConfig = this.brokerController.getTopicConfigManager().createTopicInSendMessageBackMethod(newTopic, DLQ_NUMS_PER_GROUP, - PermName.PERM_WRITE, 0 + PermName.PERM_WRITE | PermName.PERM_READ, 0 ); msg.setTopic(newTopic); msg.setQueueId(queueIdInt);