|
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