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 2022/10/11 03:40:03 UTC

[GitHub] [rocketmq] homeguess opened a new issue, #5268: Pop request mode . Cosume message orderly is work or not ?

homeguess opened a new issue, #5268:
URL: https://github.com/apache/rocketmq/issues/5268

   I read the source code about ConsumeMessagePopOrderlyService.class. There's not any logic about cosume orderly . Does pop message orderly not work ?


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org.apache.org

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


[GitHub] [rocketmq] cserwen commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

Posted by "cserwen (via GitHub)" <gi...@apache.org>.
cserwen commented on issue #5268:
URL: https://github.com/apache/rocketmq/issues/5268#issuecomment-1726784945

   > > If non-POP patterns . It means is PULL pattern . PULL pattern is one consumer match one queue . One-on-one . I think it can avoid that issue.
   > 
   > Even though a consumer match a queue, message-1 fails to consume and is sent to the delay queue, message-2 may be consumed before message-1.
   
   In pull model of orderly consumption, the msg which is failed to consume will not enter the retry queue, it will only be retried locally.
   Looking at the current impl in the code, the message queue will be locked when clent pops msgs. This can ensure that only one client pulls messages at the same time, but there is no guarantee that only one client is consuming the queue at the same time.
   Maybe I missed the code, can anyone explain it?
   


-- 
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.

To unsubscribe, e-mail: commits-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] homeguess commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   > 
   
   If is non-POP pattern . Pull patten is one consumer comsume one queue . One-on-one .  I think it can avoided that issue


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] nowinkeyy commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   > If non-POP patterns . It means is PULL pattern . PULL pattern is one consumer match one queue . One-on-one . I think it can avoid that issue.
   
   Even though a consumer match a queue, message-1 fails to consume and is sent to the delay queue, message-2 may be consumed before message-1.


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] homeguess commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   > > Yes .It will lock the queue when you inquire the meesage from queue . But it will release the lock at finally part . So how to ensure Client B is consume later than Client A
   > 
   > IMO, this can't be avoided, and it can also happen when non-POP patterns fail to consume sequential messages.
   
   If non-POP patterns . It means is PULL pattern . PULL pattern is one consumer match one queue . One-on-one . I think it can avoid that issue.


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] nowinkeyy commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   > Yes .It will lock the queue when you inquire the meesage from queue . But it will release the lock at finally part . So how to ensure Client B is consume later than Client A
   
   IMO, this can't be avoided, and it can also happen when non-POP patterns fail to consume sequential 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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] nowinkeyy commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   @homeguess I know what you mean. The following diagram seems to mean that the queue is locked until the ack returns or times out. (I don't know about the source code part)
   
   ![1665473004237](https://user-images.githubusercontent.com/72536832/195022720-f9f30cc1-8ee3-4a0e-9558-3c4060e43db4.png)


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] homeguess commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   > @homeguess I know what you mean. The following diagram seems to mean that the queue is locked until the ack returns or times out. (I don't know about the source code part)
   > 
   > ![1665473004237](https://user-images.githubusercontent.com/72536832/195022720-f9f30cc1-8ee3-4a0e-9558-3c4060e43db4.png)
   
   ![1665474255097](https://user-images.githubusercontent.com/20274221/195027479-5487e0ae-37d7-4103-94d3-399a1b9d72d2.png)
   
   ![1665474294412](https://user-images.githubusercontent.com/20274221/195027907-05c716cf-06cd-4043-ab84-4a77a1f408f8.png)
   
   Yes .It will lock the queue when you inquire the meesage from queue . But it will release the lock at finally part . 
   So how to ensure Client B is consume later than Client A


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] homeguess commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   > Could this be the place? (I don't know much about it)
   > 
   > ![image](https://user-images.githubusercontent.com/72536832/195000540-c0226cb9-d89a-4ae7-9656-3d39a840b0fd.png)
   
   Yes.But there's some question . 
   For example . There're 4 client comsume queue A (QA) at the same time . Now QA offset is 0 . 
   Producer send some message want to be comsumed orderly . Producer send message A , B , C . 
   Message A in QA offset is 50
   Message B in QA offset is 51
   Message C in QA offset is 52
   Client A pull message offset is 0-50.
   Client B pull message offset is 51-100.
   Maybe client B comsume message fater than client A 
   Now how to keep message comsume order is A -> B -> C ?


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] zhouxinyu commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   It should work, could you please do more practice on this feature? 
   
   So far, there is a known issue about the pop orderly: it doesn't support changeInvisiableTime, and we are working on it through a new RIP. cc @xdkxlk


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] nowinkeyy commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   Could this be the place? (I don't know much about it)
   
   ![image](https://user-images.githubusercontent.com/72536832/195000540-c0226cb9-d89a-4ae7-9656-3d39a840b0fd.png)
   


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] homeguess commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   > It should work, could you please do more practice on this feature?
   > 
   > So far, there is a known issue about the pop orderly: it doesn't support changeInvisiableTime, and we are working on it through a new RIP. cc @xdkxlk
   
   Em. Some times I think it can work . But in some particular case . Like I memtioned above . Is it work ?


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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


[GitHub] [rocketmq] homeguess commented on issue #5268: Pop request mode . Cosume message orderly is work or not ?

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

   > > If non-POP patterns . It means is PULL pattern . PULL pattern is one consumer match one queue . One-on-one . I think it can avoid that issue.
   > 
   > Even though a consumer match a queue, message-1 fails to consume and is sent to the delay queue, message-2 may be consumed before message-1.
   
   Yes . It's right . I miss this fail case . Thanks 


-- 
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.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

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