xiaoyifang commented on issue #5672:
URL: https://github.com/apache/rocketmq/issues/5672#issuecomment-1357150631

   > 我觉得这个复现的可能前提条件是broker压力较大,导致for循环会跑多次时候造成的巧合
   
   should be this reason.
   
   when enabled `SendLatencyFaultEnable `   ,rocketmq would try to skip the 
problemed broker (I think the implementation has some issue,will discuse in 
following) for a period of time, So when brokera has been put into the 
`faultItemTable`, `selectOneMessageQueue` would try to skip this broker.
   
   
![image](https://user-images.githubusercontent.com/105986/208358604-6bd27b17-a1ef-4b22-88ac-202294d3ee9c.png)
   
   
   
   Now ,The problem should be changed into why `brokera` has been put into the 
`faultItemTable`(method latencyFaultTolerance.isAvailable is using this),
   
   `faultItemTable` is updated in three places , briefly browsing them ,I can 
see only the following invoke place is ok.
   
   
![image](https://user-images.githubusercontent.com/105986/208359156-10c442bb-0122-4a5a-8020-78dcfbee0931.png)
   
   the other 2 places have little meaning.
   like this ,
   
![image](https://user-images.githubusercontent.com/105986/208359558-56cb4321-6271-42fa-b237-22dc5ff94714.png)
   
   
   someone should check this logic.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to