You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2019/08/12 04:33:00 UTC
[jira] [Work logged] (CAMEL-13841) Pulsar: Add the ability to
manually acknowledge a message consumed from Pulsar
[ https://issues.apache.org/jira/browse/CAMEL-13841?focusedWorklogId=292844&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-292844 ]
ASF GitHub Bot logged work on CAMEL-13841:
------------------------------------------
Author: ASF GitHub Bot
Created on: 12/Aug/19 04:32
Start Date: 12/Aug/19 04:32
Worklog Time Spent: 10m
Work Description: masahoriyama-toast commented on pull request #3094: CAMEL-13841: Allow manual Pulsar message acknowledgments
URL: https://github.com/apache/camel/pull/3094
Addresses [CAMEL-13841](https://issues.apache.org/jira/browse/CAMEL-13841)
### Motivation
Pulsar messages are currently acknowledged immediately upon consumption. This could lead to lost messages if the application crashes or does not finish its unit of work. In such situations, it may be desirable to leave these messages unacknowledged so that they can be redelivered to another consumer.
### Modifications
Changed the `PulsarMessageListener`'s received method to not acknowledge the message if `allowManualAcknowledgement` is true. Instead, we add an instance of `PulsarMessageReceipt` as a header on the `Exchange` so that the user can manually acknowledge the message at the appropriate time.
Added `allowManualAcknowledgement`, `ackTimeoutMillis`, and `ackGroupTimeMillis` as URI parameters. The latter two are Pulsar consumer configurations to allow for finer control over acknowledgements.
Added `allowManualAcknowledgement` also as a component option so that it can default to true if absent in the Pulsar endpoint URI.
Added the `pulsarMessageReceiptFactory` component option for providing an alternate implementation of `MessageReceipt`.
### Verifying this change
Added the following test classes:
```
PulsarConsumerAcknowledgementTest
PulsarConsumerNoAcknowledgementTest
PulsarCustomMessageReceiptTest
PulsarNegativeAcknowledgementTest
```
And added to:
`PulsarComponentTest`
### Documentation
Added to `pulsar-component.adoc`
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Issue Time Tracking
-------------------
Worklog Id: (was: 292844)
Time Spent: 10m
Remaining Estimate: 0h
> Pulsar: Add the ability to manually acknowledge a message consumed from Pulsar
> ------------------------------------------------------------------------------
>
> Key: CAMEL-13841
> URL: https://issues.apache.org/jira/browse/CAMEL-13841
> Project: Camel
> Issue Type: Improvement
> Affects Versions: 2.24.1
> Reporter: Masa
> Priority: Major
> Fix For: Future
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Pulsar messages are currently acknowledged immediately upon consumption, which could lead to lost messages if the application crashes or does not finish its unit of work.
> It would be desirable to add the ability to manually acknowledge a message consumed from Pulsar.
> Add a handle to the Pulsar consumer in a header in the Exchange so that the user can acknowledge the message at will similar to what was done for Kafka:
> [https://github.com/apache/camel/blob/camel-2.24.x/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaManualCommit.java]
> https://issues.apache.org/jira/browse/CAMEL-11933
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)