merlimat opened a new pull request, #25609:
URL: https://github.com/apache/pulsar/pull/25609

   ## Summary
   
   End-to-end coverage for the scalable-topic-specific behaviors of the V5 
client — the bits not exercised by the basics + producer/consumer-knobs PRs:
   
   - **V5KeyRoutingTest** — same-key messages always land on the same segment 
(verified via per-key order preservation through a 4-segment topic), and a 
varied key set on a 4-segment topic flows end-to-end without drop or 
duplication.
   - **V5SegmentSplitTest** — admin-triggered split with a producer + consumer 
running through it; messages produced before and after the split are all 
delivered exactly once.
   - **V5SegmentMergeTest** — same shape, with an admin-triggered merge of two 
adjacent segments mid-flow.
   - **V5DAGFollowingTest** — existing subscription drains across a chain of 
splits (split → split-a-child) without missing any generation.
   - **V5CumulativeAckTest** — three scenarios for 
`StreamConsumer.acknowledgeCumulative` on a multi-segment topic:
     - Single ack on the last received id → empty backlog on re-attach 
(position vector covers every segment).
     - Mid-stream ack → re-attach replays only the unacked tail.
     - Cross-split ack → ack parent fully, split, ack children, re-attach sees 
no backlog (cursor stays anchored across the sealed-parent / active-children 
boundary).
   
   ### Documented gap
   
   `V5DAGFollowingTest` notes a separate gap not asserted here: a brand-new 
`EARLIEST` subscription created *after* a split currently only sees the active 
children's data, not the sealed parent. Replaying sealed-segment data for new 
subscriptions is a separate feature.
   
   ## Test plan
   - [x] `./gradlew :pulsar-broker:test --tests 
\"org.apache.pulsar.client.api.v5.V5KeyRoutingTest\"`
   - [x] `./gradlew :pulsar-broker:test --tests 
\"org.apache.pulsar.client.api.v5.V5SegmentSplitTest\"`
   - [x] `./gradlew :pulsar-broker:test --tests 
\"org.apache.pulsar.client.api.v5.V5SegmentMergeTest\"`
   - [x] `./gradlew :pulsar-broker:test --tests 
\"org.apache.pulsar.client.api.v5.V5DAGFollowingTest\"`
   - [x] `./gradlew :pulsar-broker:test --tests 
\"org.apache.pulsar.client.api.v5.V5CumulativeAckTest\"`
   
   ## Matching PR
   - [ ] No matching PR.
   
   ### area/test


-- 
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