Dear Pulsar Community! I would like to start a formal discussion on PIP-439.
This proposal aims to enhance Pulsar Functions with transaction capabilities, enabling atomic operations across multiple topics without requiring code changes to function implementations. The proposal builds on Pulsar's existing transaction system to provide exactly-once processing semantics for Functions. Key aspects of the proposal include: 1. Automatic transaction wrapping for Functions through configuration settings 2. Support for transactional publishing to multiple output topics 3. Transactional acknowledgment of input messages 4. Transaction timeout configuration This proposal continues the discussion started in the previous thread: https://lists.apache.org/thread/rll8qyovpd7t9v5yxth25qo44zksbgkn The complete proposal is available at: https://github.com/apache/pulsar/pull/24704 I welcome your feedback, questions, and suggestions on this proposal. Please share your thoughts on the design approach, implementation details, or any considerations I may have overlooked. Best regards, Ramzan Magomadow This message and any attachment ("the Message") are confidential. If you have received the Message in error, please notify the sender immediately and delete the Message from your system, any use of the Message is forbidden. Correspondence via e-mail is primarily for information purposes. RBI neither makes nor accepts legally binding statements via e-mail unless explicitly agreed otherwise. Information pursuant to ? 14 Austrian Companies Code: Raiffeisen Bank International AG; Registered Office: Am Stadtpark 9, 1030 Vienna, Austria; Company Register Number: FN 122119m at the Commercial Court of Vienna (Handelsgericht Wien). Classification: GENERAL