|
33 | 33 | import org.apache.rocketmq.client.consumer.rebalance.AllocateMessageQueueAveragely; |
34 | 34 | import org.apache.rocketmq.client.consumer.rebalance.AllocateMessageQueueAveragelyByCircle; |
35 | 35 | import org.apache.rocketmq.common.MixAll; |
| 36 | +import org.apache.rocketmq.common.TopicConfig; |
36 | 37 | import org.apache.rocketmq.common.constant.LoggerName; |
37 | 38 | import org.apache.rocketmq.common.message.MessageQueue; |
38 | 39 | import org.apache.rocketmq.common.message.MessageQueueAssignment; |
|
49 | 50 | import org.apache.rocketmq.remoting.protocol.body.QueryAssignmentResponseBody; |
50 | 51 | import org.apache.rocketmq.remoting.protocol.body.SetMessageRequestModeRequestBody; |
51 | 52 | import org.apache.rocketmq.remoting.protocol.heartbeat.MessageModel; |
| 53 | +import org.apache.rocketmq.remoting.protocol.subscription.SubscriptionGroupConfig; |
52 | 54 |
|
53 | 55 | public class QueryAssignmentProcessor implements NettyRequestProcessor { |
54 | 56 | private static final Logger log = LoggerFactory.getLogger(LoggerName.BROKER_LOGGER_NAME); |
@@ -314,8 +316,20 @@ private RemotingCommand setMessageRequestMode(ChannelHandlerContext ctx, |
314 | 316 | response.setRemark("retry topic is not allowed to set mode"); |
315 | 317 | return response; |
316 | 318 | } |
| 319 | + TopicConfig topicConfig = this.brokerController.getTopicConfigManager().selectTopicConfig(topic); |
| 320 | + if (null == topicConfig) { |
| 321 | + response.setCode(ResponseCode.TOPIC_NOT_EXIST); |
| 322 | + response.setRemark("topic[" + topic + "] not exist"); |
| 323 | + return response; |
| 324 | + } |
317 | 325 |
|
318 | 326 | final String consumerGroup = requestBody.getConsumerGroup(); |
| 327 | + SubscriptionGroupConfig groupConfig = this.brokerController.getSubscriptionGroupManager().findSubscriptionGroupConfig(consumerGroup); |
| 328 | + if (null == groupConfig) { |
| 329 | + response.setCode(ResponseCode.SUBSCRIPTION_GROUP_NOT_EXIST); |
| 330 | + response.setRemark("subscription group does not exist"); |
| 331 | + return response; |
| 332 | + } |
319 | 333 |
|
320 | 334 | this.messageRequestModeManager.setMessageRequestMode(topic, consumerGroup, requestBody); |
321 | 335 | this.messageRequestModeManager.persist(); |
|
0 commit comments