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