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]

Reply via email to