You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Suzanne Becker (Jira)" <ji...@apache.org> on 2022/01/25 17:18:00 UTC
[jira] [Created] (CAMEL-17551) camel-pulsar: Pause Pulsar consumers when a consumer is suspended
Suzanne Becker created CAMEL-17551:
--------------------------------------
Summary: camel-pulsar: Pause Pulsar consumers when a consumer is suspended
Key: CAMEL-17551
URL: https://issues.apache.org/jira/browse/CAMEL-17551
Project: Camel
Issue Type: Improvement
Components: camel-pulsar
Environment: Camel 3.12.0, Pulsar 2.7.2
Reporter: Suzanne Becker
*Proposed change*
When a Pulsar route is suspended/resumed, the route's PulsarConsumer should pause() and resume() its Pulsar consumers.
*Background*
Camel's PulsarConsumer is not currently suspendable. When `suspend()` is called on a Pulsar endpoint/route, the route and its PulsarConsumer are stopped instead, which in the current implementation will stop+close the underlying Pulsar consumers.
As a result, in-flight exchanges cannot complete because the Pulsar consumers can't ack messages when in a closed state.
Pulsar consumers can be paused and resumed instead. A paused Pulsar consumer does not request any more messages from the broker, but it can still communicate with the broker, for example to ack messages it's already received. (However, after calling .pause() on a Pulsar consumer, it will finish processing any messages that were buffered in its receiver queue – up to `receiverQueueSize` # of messages).
--
This message was sent by Atlassian Jira
(v8.20.1#820001)