@@ -135,34 +135,23 @@ public RemotingCommand processRequest(final ChannelHandlerContext ctx,
135135 }
136136 int randomQ = random .nextInt (100 );
137137 boolean hasMsg = false ;
138- boolean needRetry = randomQ % 5 == 0 ;
139138 BrokerConfig brokerConfig = brokerController .getBrokerConfig ();
140- if (needRetry ) {
139+ if (requestHeader .getQueueId () < 0 ) {
140+ // read all queue
141+ hasMsg = hasMsgFromTopic (topicConfig , randomQ , requestHeader );
142+ } else {
143+ int queueId = requestHeader .getQueueId ();
144+ hasMsg = hasMsgFromQueue (topicConfig .getTopicName (), requestHeader , queueId );
145+ }
146+ // if it doesn't have message, fetch retry
147+ if (!hasMsg ) {
141148 String retryTopic = KeyBuilder .buildPopRetryTopic (requestHeader .getTopic (), requestHeader .getConsumerGroup (), brokerConfig .isEnableRetryTopicV2 ());
142149 hasMsg = hasMsgFromTopic (retryTopic , randomQ , requestHeader );
143150 if (!hasMsg && brokerConfig .isEnableRetryTopicV2 () && brokerConfig .isRetrieveMessageFromPopRetryTopicV1 ()) {
144151 String retryTopicConfigV1 = KeyBuilder .buildPopRetryTopicV1 (requestHeader .getTopic (), requestHeader .getConsumerGroup ());
145152 hasMsg = hasMsgFromTopic (retryTopicConfigV1 , randomQ , requestHeader );
146153 }
147154 }
148- if (!hasMsg ) {
149- if (requestHeader .getQueueId () < 0 ) {
150- // read all queue
151- hasMsg = hasMsgFromTopic (topicConfig , randomQ , requestHeader );
152- } else {
153- int queueId = requestHeader .getQueueId ();
154- hasMsg = hasMsgFromQueue (topicConfig .getTopicName (), requestHeader , queueId );
155- }
156- // if it doesn't have message, fetch retry again
157- if (!needRetry && !hasMsg ) {
158- String retryTopic = KeyBuilder .buildPopRetryTopic (requestHeader .getTopic (), requestHeader .getConsumerGroup (), brokerConfig .isEnableRetryTopicV2 ());
159- hasMsg = hasMsgFromTopic (retryTopic , randomQ , requestHeader );
160- if (!hasMsg && brokerConfig .isEnableRetryTopicV2 () && brokerConfig .isRetrieveMessageFromPopRetryTopicV1 ()) {
161- String retryTopicConfigV1 = KeyBuilder .buildPopRetryTopicV1 (requestHeader .getTopic (), requestHeader .getConsumerGroup ());
162- hasMsg = hasMsgFromTopic (retryTopicConfigV1 , randomQ , requestHeader );
163- }
164- }
165- }
166155
167156 if (!hasMsg ) {
168157 PollingResult pollingResult = popLongPollingService .polling (ctx , request , new PollingHeader (requestHeader ));
0 commit comments