Hi Everyone, I'd like to start a vote on PIP-439: Adding Transaction Support to Pulsar Functions Through Managed Transaction Wrapping.
The PIP proposes adding automatic/managed transaction support to Pulsar Functions through configuration. When enabled, each function execution would be automatically wrapped in a transaction without requiring code changes to the function implementation. This will enable atomic operations across multiple topics, finally supporting exactly-once processing semantics as well. Key features: - Enable automatic transaction support for Pulsar Functions via configuration (OFF/MANAGED) to control transaction behavior - Support for both synchronous and asynchronous functions - Support publishing messages to multiple topics within a single transaction - Support transactional acknowledgment of input messages - Transaction batching to improve performance (can be disabled by setting transactionBatchingMaxEntries to 0) - New metrics for monitoring transaction usage and performance, including created/committed/aborted counts, batch sizes, and commit reasons PIP PR: https://github.com/apache/pulsar/pull/24704 Discussion thread: https://lists.apache.org/thread/ztvxg5d2w526ov0w9c9l66tgpfogtvph Thanks, 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
