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/12/28 13:40:03 UTC

[GitHub] [rocketmq] Stupid-Dird opened a new issue #3676: The request() method in class DefaultMQProducerImpl does not handle hook functions correctly

Stupid-Dird opened a new issue #3676:
URL: https://github.com/apache/rocketmq/issues/3676


   Hello, I found a possible vulnerability scenario when reading the rocketmq source code.
   
   In class DefaultMQProducerImpl, there is a set of methods declared with request, as shown in the following figure
   
   ![1640697988(1)](https://user-images.githubusercontent.com/48325780/147570938-df1f95ed-e430-4f00-af85-86962b7b8ade.png)
   
   In this method, the invoke waitresponse method waits, and countdown() is performed in onexception in sendcallback; However, there is no countdown () in onsuccess (), so even if the transmission is successful, it will be blocked until the timeout
   
   In other similar methods, the onsuccess of requestcallback is not called
   ![1640698774(1)](https://user-images.githubusercontent.com/48325780/147572094-95fca573-9a85-41f2-ab0b-1837cf28af9b.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] Stupid-Dird commented on issue #3676: The request() method in class DefaultMQProducerImpl does not handle hook functions correctly

Posted by GitBox <gi...@apache.org>.
Stupid-Dird commented on issue #3676:
URL: https://github.com/apache/rocketmq/issues/3676#issuecomment-1003047492


   @Git-Yang 


-- 
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] Stupid-Dird commented on issue #3676: The request() method in class DefaultMQProducerImpl does not handle hook functions correctly

Posted by GitBox <gi...@apache.org>.
Stupid-Dird commented on issue #3676:
URL: https://github.com/apache/rocketmq/issues/3676#issuecomment-1003047309


   你的意思是对Requestcallback的onSuccess()的回调和countDown()会在类ClientRemotingProcessor的processReplyMessage方法进程处理?
   
   
   Do you mean that the onsuccess() callback and countdown () of the requestcallback will be processed in the processReplyMessage() method of the Clientremotingprocessor class?


-- 
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] vongosling closed issue #3676: The request() method in class DefaultMQProducerImpl does not handle hook functions correctly

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


   


-- 
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] Stupid-Dird commented on issue #3676: The request() method in class DefaultMQProducerImpl does not handle hook functions correctly

Posted by GitBox <gi...@apache.org>.
Stupid-Dird commented on issue #3676:
URL: https://github.com/apache/rocketmq/issues/3676#issuecomment-1002902044


   OK, understand, then you only need to call countDown () in onSuccess.


-- 
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] Stupid-Dird commented on issue #3676: The request() method in class DefaultMQProducerImpl does not handle hook functions correctly

Posted by GitBox <gi...@apache.org>.
Stupid-Dird commented on issue #3676:
URL: https://github.com/apache/rocketmq/issues/3676#issuecomment-1003047722


   So there's no problem.
   所以不存在我说的问题。


-- 
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] Git-Yang commented on issue #3676: The request() method in class DefaultMQProducerImpl does not handle hook functions correctly

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3676:
URL: https://github.com/apache/rocketmq/issues/3676#issuecomment-1002893731


   The countDown() method will be executed before the onSucess() method is called.


-- 
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] Stupid-Dird removed a comment on issue #3676: The request() method in class DefaultMQProducerImpl does not handle hook functions correctly

Posted by GitBox <gi...@apache.org>.
Stupid-Dird removed a comment on issue #3676:
URL: https://github.com/apache/rocketmq/issues/3676#issuecomment-1002902044


   OK, understand, then you only need to call countDown () in onSuccess.


-- 
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] Stupid-Dird commented on issue #3676: The request() method in class DefaultMQProducerImpl does not handle hook functions correctly

Posted by GitBox <gi...@apache.org>.
Stupid-Dird commented on issue #3676:
URL: https://github.com/apache/rocketmq/issues/3676#issuecomment-1002896774


   Yes, you need to call countDown () in the onSuccess () method, but it is not just this problem, but also remove the RequestResponseFuture object in RequestFutureTable.
   
   In the overloaded method, you need to call the onsuccess method of the incoming requestcallback. I have modified and initiated PR, and the link is as follows: https://github.com/apache/rocketmq/pull/3677
   
   
   
   
   是的,需要在onSuccess()方法中调用countDown(),但不仅仅是这个问题,还有移除RequestFutureTable中的RequestResponseFuture对象。
   在重载的方法中,需要对传入的RequestCallBack的onSuccess方法进行调用。我已经修改完成了发起了PR,链接如下:https://github.com/apache/rocketmq/pull/3677


-- 
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] Git-Yang commented on issue #3676: The request() method in class DefaultMQProducerImpl does not handle hook functions correctly

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3676:
URL: https://github.com/apache/rocketmq/issues/3676#issuecomment-1002897052


   ![image](https://user-images.githubusercontent.com/30995057/147728664-cdf95391-a305-488e-81bd-f91c72f37af3.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