[ 
https://issues.apache.org/jira/browse/ROCKETMQ-141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

dongeforever updated ROCKETMQ-141:
----------------------------------
    Fix Version/s:     (was: 4.1.0-incubating)
                   4.2.0-incubating

> Make producers establish connection eagerly to new joined brokers
> -----------------------------------------------------------------
>
>                 Key: ROCKETMQ-141
>                 URL: https://issues.apache.org/jira/browse/ROCKETMQ-141
>             Project: Apache RocketMQ
>          Issue Type: Improvement
>          Components: rocketmq-client
>    Affects Versions: 4.1.0-incubating
>            Reporter: Zhanhui Li
>            Assignee: Zhanhui Li
>             Fix For: 4.2.0-incubating
>
>
> When new brokers joins the cluster, MQ producer clients polls name server and 
> add the new-joined brokers to topicPublishInfo in case the new-joined broker 
> bears the topic. Later on, the producers may send messages to the new-joined 
> brokers.
> This achieves part of scalable goals and works fine for most cases. However, 
> we ran an issue in this process. The problem is when new broker joins the 
> cluster, the producer clients blocks for quite a while even if when 
> asynchronous send method is employed, which is very miserable for latency 
> sensitive scenarios.  
> After analyzing the root cause, it turns out that producer clients need to 
> establish a connection to the new-joined brokers the first time it sends a 
> message, as is blocking. 
> This issue is to establish a connection to new-joined brokers immediately 
> after polling name server and make them available to send methods thereafter. 
> Thus, when send is called against new-joined brokers, there is a writable 
> channel readily available.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to