[ https://issues.apache.org/jira/browse/ROCKETMQ-106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16004613#comment-16004613 ]
ASF GitHub Bot commented on ROCKETMQ-106: ----------------------------------------- Github user shroman commented on a diff in the pull request: https://github.com/apache/incubator-rocketmq/pull/66#discussion_r115727645 --- Diff: client/src/main/java/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.java --- @@ -401,6 +408,14 @@ public void setPullThresholdForQueue(int pullThresholdForQueue) { this.pullThresholdForQueue = pullThresholdForQueue; } + public int getPullThresholdForTopic() { + return pullThresholdForTopic; + } + + public void setPullThresholdForTopic(int pullThresholdForTopic) { + this.pullThresholdForTopic = pullThresholdForTopic; --- End diff -- I guess setting `pullThresholdForTopic` to 0 or negative wouldn't make sense here. How about warning a user about it? > Add flow control on topic level > ------------------------------- > > Key: ROCKETMQ-106 > URL: https://issues.apache.org/jira/browse/ROCKETMQ-106 > Project: Apache RocketMQ > Issue Type: Wish > Components: rocketmq-client > Reporter: Jaskey Lam > Assignee: Jaskey Lam > Fix For: 4.1.0-incubating > > > *Motivations* > For current flow control, we can only control on queue level. > Howerver, the numbers of queue allocated may be dynamic changed. For example, > I might hope to control that at most 1000 messages can be pulled from broker > to protect my client. And I have no idea how many queue I am allocated. Maybe > I will have 5 queue and 5 instances so I set `pullThresholdForQueue`=1000, > which works as expected when one is fine. But as long as any instances > crashes, some instances may be allocated more than one queue, which will > make messages pulled from broker exceed my expectations. > A configuration of `pullThresholdForTopic` is propably most user hopes. -- This message was sent by Atlassian JIRA (v6.3.15#6346)