[
https://issues.apache.org/jira/browse/CAMEL-11125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15962140#comment-15962140
]
Claus Ibsen commented on CAMEL-11125:
-------------------------------------
You can find an example here
https://github.com/camelinaction/camelinaction2/blob/master/chapter21/rx-java2/src/test/java/camelinaction/CamelConsumerBackPressureTest.java
Ideally we should have it to request when watermarks are < X %, such as 25% etc
(round up). So with 10 max inflight it would be <= 3. So it would often request
7 new messages instead of 1 every time.
> camel-reactive-streams - Consumer should allow to not refill so frequently
> --------------------------------------------------------------------------
>
> Key: CAMEL-11125
> URL: https://issues.apache.org/jira/browse/CAMEL-11125
> Project: Camel
> Issue Type: Improvement
> Components: camel-reactive-streams
> Affects Versions: 2.19.0
> Reporter: Claus Ibsen
> Priority: Minor
>
> Every time a consumer has completed onNext it calculates a refill, and
> because it has completed 1 message, it will always ask for at least 1
> message.
> This happens even if there is 127 messages already in the buffer.
> We should probably have some way of having a low/high watermark so if the
> buffer has many messages already we dont need to refill so frequently.
> This happens in the code:
> org.apache.camel.component.reactive.streams.engine.CamelSubscriber#onNext
> By having those watermark threshold we allow to not be so chatty and request
> data all the time, but instead request data in more bulks. Otherwise chances
> are that we just keep requesting = 1 all the time.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)