merlimat opened a new pull request, #25958: URL: https://github.com/apache/pulsar/pull/25958
### Motivation P6 (test coverage) hardening for PIP-473 v5 transactions on scalable (`topic://`) topics. This broadens automated coverage across three layers — single-broker, broker-restart recovery, and a multi-broker docker cluster — and re-enables the split/merge transaction tests that the earlier P5.4 fixes already made pass. ### Modifications - **`V5TransactionScalableTest`** (single-broker unit): multi-segment commit; many concurrent transactions with mixed commit/abort; abort across split and across merge; large transaction; transactional-ack lifecycle (abort → redeliver, then commit → stick); per-subscription isolation of transactional acks; read-committed pinning while a transaction is open. - **`V5TransactionRecoveryTest`** (single restartable broker): the mock BookKeeper and metadata stores are reused across `restartBroker()`, so a segment topic reloads cold and exercises `MetadataTransactionBuffer` / `MetadataPendingAckStore` recovery — committed data stays visible, aborted data stays filtered, and committed transactional acks are not redelivered. - **`V5ScalableTopicTransactionTest`** (docker, 2-broker cluster): produce/consume commit+abort, multi-topic atomic commit, consume-transform-produce, broker failover mid-transaction, and commit spanning a split / merge. Registered in `pulsar-transaction.xml`. - Re-enabled `V5TransactionTest.testCommitSpansSplit` / `testCommitSpansMerge` and removed their stale "disabled" comments (the gap they described was specific to the old v4 RPC commit model; v5 `endTransaction` is metadata-event driven). ### Verifying this change This change is a test-only addition and is covered by the new tests. Locally: - `V5TransactionScalableTest` (8 tests) — stable across repeated runs - `V5TransactionRecoveryTest` (3 tests) — stable across repeated runs - `V5ScalableTopicTransactionTest` (6 docker tests) — stable across repeated runs (6/6, incl. failover and split/merge) - `V5Transactiontest` — 7/7 with the split/merge tests re-enabled ### Does this pull request potentially affect one of the following parts: - Dependencies (add or upgrade a dependency): no - The public API: no - The schema: no - The default values of configurations: no - The threading model: no - The binary protocol: no - The REST endpoints: no - The admin CLI options: no - Anything that affects deployment: no -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
