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)