You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2021/01/14 09:57:14 UTC

[GitHub] [rocketmq] jiaoxinnyu opened a new issue #2602: %RETRY%队列下面订阅的是所有的tag*导致消息无法正确推送

jiaoxinnyu opened a new issue #2602:
URL: https://github.com/apache/rocketmq/issues/2602


   The issue tracker is **ONLY** used for bug report(feature request need to follow [RIP process](https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal)). Keep in mind, please check whether there is an existing same report before your raise a new one.
   
   Alternately (especially if your communication is not a bug report), you can send mail to our [mailing lists](http://rocketmq.apache.org/about/contact/). We welcome any friendly suggestions, bug fixes, collaboration and other improvements.
   
   Please ensure that your bug report is clear and that it is complete. Otherwise, we may be unable to understand it or to reproduce it, either of which would prevent us from fixing the bug. We strongly recommend the report(bug report or feature request) could include some hints as the following:
   
   **BUG REPORT**
   
   1. Please describe the issue you observed:
   
   - 有AB两个消费者他们的groupname不同,然后订阅了同一个topic,A 订阅 tag1,B订阅tag2
   - B消费者里面像这个topic下面的tag1发送一个消息。
   
   - 这个重试队列的订阅应该是到A的重试队列下面。然后由A去消费?
   
   - 消息正常抵达到消费者A,但是由于A异常没有返回success也没用返回重试。导致这条消息最终进入到了B的消费者重试队列里面,也就是Mq的%RETRY%ConsumerB下面,但是由于集群模式订阅的重试队列MQ默认订阅是的tagall。所以导致这个消息会被推送给B 但是由于消息的tag是 tag1,B是没有办法消费的
   
   2. 在test测试环境:
   
   3. Other information (e.g. detailed explanation, logs, related issues, suggestions how to fix, etc):
   
   **FEATURE REQUEST**
   
   1. 能否让重试队列订阅的时候消费者自己set 订阅的tag呢?.
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] githublaohu commented on issue #2602: %RETRY%队列下面订阅的是所有的tag*导致消息无法正确推送

Posted by GitBox <gi...@apache.org>.
githublaohu commented on issue #2602:
URL: https://github.com/apache/rocketmq/issues/2602#issuecomment-760098464


   实在没有看懂你的描述,B消费者里面像这个topic下面的tag1发送一个消息。B是消费者怎么会发送消息了。
   
   I really didn't understand your description. In consumer B, I sent a message like tag1 under this topic. B is how consumers send messages.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Jaskey commented on issue #2602: %RETRY%队列下面订阅的是所有的tag*导致消息无法正确推送

Posted by GitBox <gi...@apache.org>.
Jaskey commented on issue #2602:
URL: https://github.com/apache/rocketmq/issues/2602#issuecomment-760611721


   @jiaoxinnyu 你说的现象不合逻辑,如果是真的如此就是bug了。建议你贴一下能复现问题的test case。


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] duhenglucky closed issue #2602: %RETRY%队列下面订阅的是所有的tag*导致消息无法正确推送

Posted by GitBox <gi...@apache.org>.
duhenglucky closed issue #2602:
URL: https://github.com/apache/rocketmq/issues/2602


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] jiaoxinnyu commented on issue #2602: %RETRY%队列下面订阅的是所有的tag*导致消息无法正确推送

Posted by GitBox <gi...@apache.org>.
jiaoxinnyu commented on issue #2602:
URL: https://github.com/apache/rocketmq/issues/2602#issuecomment-760602229


   我遗漏了一些前提条件。我补充一下。AB两个消费者他们的groupname不一样,然后订阅的是同一个topic下面的 tag1,tag2。
   B在业务代码里面像topic的tag1发送一条消息 ,A也接收到了但是没有处理成功。然后这条消息我同步控制台发现进入到了topic 为%RETRY%ConsumerB的下面。由于mq默认消费者B订阅重试主题是ALL也就是* 所以导致这个重试消息再推送的时候推给了B。


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Jaskey commented on issue #2602: %RETRY%队列下面订阅的是所有的tag*导致消息无法正确推送

Posted by GitBox <gi...@apache.org>.
Jaskey commented on issue #2602:
URL: https://github.com/apache/rocketmq/issues/2602#issuecomment-760155828


   你的描述很可能不符合现实,或者还有一些别的信息没有输入。按照你的说法, B消费了消息1,发送了消息2给A,这时候A对于消息2的消费失败了,这个消息2肯定进的是%RETRY%ConsumerA里面,而不可能进入B的重试Topic的,麻烦检查下是否A B 用了一样的consumer group名字?还是说有别的信息你没有提供。
   
   What you describe may not right as it is, or there are something important but you donot provide here. According to what you provides, if consumer B consumes a message say M1, and then send a M2 message to A(tag1) while A consumes M2 fail, at this time the M2 will be resend to %RETRY%ConsumerA topic but NOT %RETRY%ConsumerB. Please check if your two consumers uses the same consumer group name, or there are really somthing important you do not provide.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] jiaoxinnyu commented on issue #2602: %RETRY%队列下面订阅的是所有的tag*导致消息无法正确推送

Posted by GitBox <gi...@apache.org>.
jiaoxinnyu commented on issue #2602:
URL: https://github.com/apache/rocketmq/issues/2602#issuecomment-760619080


   我的代码是消费者1的group 为ExternalOrderClusteringConsumer 订阅TopicExternalOrder下的 tag1,mq默认订阅%RETRY%ExternalOrderClusteringConsumer的tag all
   消费者2的group为TopicExternalOrder 订阅TopicExternalOrder下的 tag2,mq默认会订阅%RETRY%order_callback_group 的tag all。是不是因为两个groupname公用一个topic的问题?这个消息的tag不一样 但是topic是一样的 所以导致进入到了消费者2的重试队列里面了


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Jaskey commented on issue #2602: %RETRY%队列下面订阅的是所有的tag*导致消息无法正确推送

Posted by GitBox <gi...@apache.org>.
Jaskey commented on issue #2602:
URL: https://github.com/apache/rocketmq/issues/2602#issuecomment-760692709


   @jiaoxinnyu 共同监听一个topic是没问题的,检查下你的消费者1发送消息给消费者2的时候是否消费失败了,而不是消费者2自己消费失败。


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] jiaoxinnyu commented on issue #2602: %RETRY%队列下面订阅的是所有的tag*导致消息无法正确推送

Posted by GitBox <gi...@apache.org>.
jiaoxinnyu commented on issue #2602:
URL: https://github.com/apache/rocketmq/issues/2602#issuecomment-760113290


   是B在自己的业务处理逻辑里面,用一个生产者的方法像A的ta1目标发送一个消息。消息也推到A了。但是A没有返回提交位移。就导致这条消息进入到B的的%RETRY%groupname下的重试队列里面去了。后面重试会被MQ推送给B。这里像A的tag1发送消息失败了。不应该是到A的%RETRY%groupneame下面的重试队列么。为啥到%RETRY%B里面去了


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org