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 2020/01/16 09:51:54 UTC

[GitHub] [rocketmq] 2259289435 opened a new issue #1727: **BUG REPORT**ReqResp timeout execute N time

2259289435 opened a new issue #1727: **BUG REPORT**ReqResp timeout execute N time
URL: https://github.com/apache/rocketmq/issues/1727
 
 
   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:
   ReqResp timeout execute N time
   - What did you do (The steps to reproduce)?
   1. producer start request(x,callback,3000ttl)
   2. timeout callback on exception execute 2 time
   
   - What did you expect to see?
   
   - What did you see instead?
   
   2. Please tell us about your environment:
   4.6.0
   3. Other information (e.g. detailed explanation, logs, related issues, suggestions how to fix, etc):
   
   **FEATURE REQUEST**
   
   1. Please describe the feature you are requesting.
   
   2. Provide any additional detail on your proposed use case for this feature.
   DefaultMQProducerImpl.start(){
   ...
   this.timer.scheduleAtFixedRate(new TimerTask() {
               @Override
               public void run() {
                   try {
                       RequestFutureTable.scanExpiredRequest();
                   } catch (Throwable e) {
                       log.error("scan RequestFutureTable exception", e);
                   }
               }
           }, 1000 * 3, 1000);
   ...
   remove this code,
   change to
   DefaultMQProducerImpl
   static {
   private static final Timer timer = new Timer("RequestHouseKeepingService", true);
   timer.scheduleAtFixedRate(new TimerTask() {
               @Override
               public void run() {
                   try {
                       RequestFutureTable.scanExpiredRequest();
                   } catch (Throwable e) {
                       log.error("scan RequestFutureTable exception", e);
                   }
               }
           }, 1000 * 3, 1000);
   }
   }
   2. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
   
   4. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
   
   - [sub-task1-issue-number](example_sub_issue1_link_here): sub-task1 description here, 
   - [sub-task2-issue-number](example_sub_issue2_link_here): sub-task2 description here,
   - ...
   

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


With regards,
Apache Git Services

[GitHub] [rocketmq] wqliang commented on issue #1727: **BUG REPORT**ReqResp timeout execute N time

Posted by GitBox <gi...@apache.org>.
wqliang commented on issue #1727: **BUG REPORT**ReqResp timeout execute N time
URL: https://github.com/apache/rocketmq/issues/1727#issuecomment-575962529
 
 
   @2259289435 Could you give more detail how to reproduce it ? What do you mean change `timer `to static ?

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


With regards,
Apache Git Services

[GitHub] [rocketmq] 2259289435 edited a comment on issue #1727: **BUG REPORT**ReqResp timeout execute N time

Posted by GitBox <gi...@apache.org>.
2259289435 edited a comment on issue #1727: **BUG REPORT**ReqResp timeout execute N time
URL: https://github.com/apache/rocketmq/issues/1727#issuecomment-575964135
 
 
   > @2259289435 Could you give more detail how to reproduce it ? What do you mean change `timer `to static ?
   
   Could you give more detail how to reproduce it ?
   1.producer.request(requestMessage, new RequestCallback() {
               @Override
               public void onSuccess(Message message) {
                   log.info("reply body : {}", new String(message.getBody()));
               }
               
               @Override
               public void onException(Throwable e) {
                   log.error("request error : {}, correlationId : {}", requestMessage.getProperty(MessageConst.PROPERTY_CORRELATION_ID), e.getMessage());
               }
           }, 3000L);
   2.on timeout,onException execute 2 times。
   producer.impl have timer ,producer.impl.instance.defaultmqproducer.impl have timer.
   
   What do you mean change timer to static ?
   try to fixbug
   
   

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


With regards,
Apache Git Services

[GitHub] [rocketmq] 2259289435 edited a comment on issue #1727: **BUG REPORT**ReqResp timeout execute N time

Posted by GitBox <gi...@apache.org>.
2259289435 edited a comment on issue #1727: **BUG REPORT**ReqResp timeout execute N time
URL: https://github.com/apache/rocketmq/issues/1727#issuecomment-575964135
 
 
   > @2259289435 Could you give more detail how to reproduce it ? What do you mean change `timer `to static ?
   
   Could you give more detail how to reproduce it ?
   1.producer.request(requestMessage, new RequestCallback() {
               @Override
               public void onSuccess(Message message) {
                   log.info("reply body : {}", new String(message.getBody()));
               }
               
               @Override
               public void onException(Throwable e) {
                   log.error("request error : {}, correlationId : {}", requestMessage.getProperty(MessageConst.PROPERTY_CORRELATION_ID), e.getMessage());
               }
           }, 3000L);
   2.on timeout,onException execute 2 times。
   producer.impl have timer ,producer.impl.instance.defaultmqproducer.impl have timer.
   
   What do you mean change timer to static ?
   try to fixbug
   
   client fix:
   ![image](https://user-images.githubusercontent.com/23507198/72674429-4afdf080-3ab1-11ea-831d-04851c200e7d.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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq] 2259289435 commented on issue #1727: **BUG REPORT**ReqResp timeout execute N time

Posted by GitBox <gi...@apache.org>.
2259289435 commented on issue #1727: **BUG REPORT**ReqResp timeout execute N time
URL: https://github.com/apache/rocketmq/issues/1727#issuecomment-575964019
 
 
   Could you give more detail how to reproduce it ?
   1.producer.request(requestMessage, new RequestCallback() {
               @Override
               public void onSuccess(Message message) {
                   log.info("reply body : {}", new String(message.getBody()));
               }
               
               @Override
               public void onException(Throwable e) {
                   log.error("request error : {}, correlationId : {}", requestMessage.getProperty(MessageConst.PROPERTY_CORRELATION_ID), e.getMessage());
               }
           }, 3000L);
   2.on timeout,onException execute 2 times。
   producer.impl have timer ,producer.impl.instance.defaultmqproducer.impl have timer.
   
   What do you mean change timer to static ?
   try to fixbug
   
   ![image](https://user-images.githubusercontent.com/23507198/72674429-4afdf080-3ab1-11ea-831d-04851c200e7d.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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq] 2259289435 commented on issue #1727: **BUG REPORT**ReqResp timeout execute N time

Posted by GitBox <gi...@apache.org>.
2259289435 commented on issue #1727: **BUG REPORT**ReqResp timeout execute N time
URL: https://github.com/apache/rocketmq/issues/1727#issuecomment-575964135
 
 
   > @2259289435 Could you give more detail how to reproduce it ? What do you mean change `timer `to static ?
   
   Could you give more detail how to reproduce it ?
   1.producer.request(requestMessage, new RequestCallback() {
               @Override
               public void onSuccess(Message message) {
                   log.info("reply body : {}", new String(message.getBody()));
               }
               
               @Override
               public void onException(Throwable e) {
                   log.error("request error : {}, correlationId : {}", requestMessage.getProperty(MessageConst.PROPERTY_CORRELATION_ID), e.getMessage());
               }
           }, 3000L);
   2.on timeout,onException execute 2 times。
   producer.impl have timer ,producer.impl.instance.defaultmqproducer.impl have timer.
   
   What do you mean change timer to static ?
   try to fixbug
   
   ![image](https://user-images.githubusercontent.com/23507198/72674429-4afdf080-3ab1-11ea-831d-04851c200e7d.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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq] 2259289435 removed a comment on issue #1727: **BUG REPORT**ReqResp timeout execute N time

Posted by GitBox <gi...@apache.org>.
2259289435 removed a comment on issue #1727: **BUG REPORT**ReqResp timeout execute N time
URL: https://github.com/apache/rocketmq/issues/1727#issuecomment-575964019
 
 
   Could you give more detail how to reproduce it ?
   1.producer.request(requestMessage, new RequestCallback() {
               @Override
               public void onSuccess(Message message) {
                   log.info("reply body : {}", new String(message.getBody()));
               }
               
               @Override
               public void onException(Throwable e) {
                   log.error("request error : {}, correlationId : {}", requestMessage.getProperty(MessageConst.PROPERTY_CORRELATION_ID), e.getMessage());
               }
           }, 3000L);
   2.on timeout,onException execute 2 times。
   producer.impl have timer ,producer.impl.instance.defaultmqproducer.impl have timer.
   
   What do you mean change timer to static ?
   try to fixbug
   
   ![image](https://user-images.githubusercontent.com/23507198/72674429-4afdf080-3ab1-11ea-831d-04851c200e7d.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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq] 2259289435 edited a comment on issue #1727: **BUG REPORT**ReqResp timeout execute N time

Posted by GitBox <gi...@apache.org>.
2259289435 edited a comment on issue #1727: **BUG REPORT**ReqResp timeout execute N time
URL: https://github.com/apache/rocketmq/issues/1727#issuecomment-575964135
 
 
   > @2259289435 Could you give more detail how to reproduce it ? What do you mean change `timer `to static ?
   
   Could you give more detail how to reproduce it ?
   1.producer.request(requestMessage, new RequestCallback() {
               @Override
               public void onSuccess(Message message) {
                   log.info("reply body : {}", new String(message.getBody()));
               }
               
               @Override
               public void onException(Throwable e) {
                   log.error("request error : {}, correlationId : {}", requestMessage.getProperty(MessageConst.PROPERTY_CORRELATION_ID), e.getMessage());
               }
           }, 3000L);
   2.on timeout,onException execute 2 times。
   producer.impl have timer ,producer.impl.instance.defaultmqproducer.impl have timer.
   
   What do you mean change timer to static ?
   try to fixbug
   
   client fix:
   ![image](https://user-images.githubusercontent.com/23507198/72674595-7d105200-3ab3-11ea-87e8-9627e73ae6f7.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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq] 2259289435 edited a comment on issue #1727: **BUG REPORT**ReqResp timeout execute N time

Posted by GitBox <gi...@apache.org>.
2259289435 edited a comment on issue #1727: **BUG REPORT**ReqResp timeout execute N time
URL: https://github.com/apache/rocketmq/issues/1727#issuecomment-575964135
 
 
   > @2259289435 Could you give more detail how to reproduce it ? What do you mean change `timer `to static ?
   
   Could you give more detail how to reproduce it ?
   1.producer.request(requestMessage, new RequestCallback() {
               @Override
               public void onSuccess(Message message) {
                   log.info("reply body : {}", new String(message.getBody()));
               }
               
               @Override
               public void onException(Throwable e) {
                   log.error("request error : {}, correlationId : {}", requestMessage.getProperty(MessageConst.PROPERTY_CORRELATION_ID), e.getMessage());
               }
           }, 3000L);
   2.on timeout,onException execute 2 times。
   producer.impl have timer ,producer.impl.instance.defaultmqproducer.impl have timer.
   
   What do you mean change timer to static ?
   try to fixbug
   
   client fix :
   Could you give more detail how to reproduce it ?
   1.producer.request(requestMessage, new RequestCallback() {
               @Override
               public void onSuccess(Message message) {
                   log.info("reply body : {}", new String(message.getBody()));
               }
               
               @Override
               public void onException(Throwable e) {
                   log.error("request error : {}, correlationId : {}", requestMessage.getProperty(MessageConst.PROPERTY_CORRELATION_ID), e.getMessage());
               }
           }, 3000L);
   2.on timeout,onException execute 2 times。
   producer.impl have timer ,producer.impl.instance.defaultmqproducer.impl have timer.
   
   What do you mean change timer to static ?
   try to fixbug
   
   client fix:
   ![image](https://user-images.githubusercontent.com/23507198/72674429-4afdf080-3ab1-11ea-831d-04851c200e7d.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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services