revert(streaming): revert drained-subscription checkpoint advancement - #11330
Conversation
This reverts commit f64f1f1 while preserving the later shutdown-draining and handshake-ownership guarantees from dotnet#11268. Restore subscription-based checkpoint progress after recoverable failures exposed a queue-wide lifetime opt-out in dotnet#11249. Re-attempt advancement and recovery in dotnet#11269.
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The checkpointing and streaming lifecycle changes warrant final human review.
Review effort: Lite
Findings: None
What changed in this PR
This PR reverts drained-subscription checkpoint advancement while retaining shutdown-draining and handshake ownership behavior.
Changes:
- Restores subscription-based checkpoint progress.
- Removes read-boundary and caught-up tracking.
- Removes tests and helpers for the reverted behavior.
| File | Description |
|---|---|
test/Orleans.Streaming.Tests/StreamingTests/PersistentStreamPullingAgentTests.cs |
Removes reverted behavior tests and helpers. |
src/Orleans.Streaming/QueueAdapters/IQueueCache.cs |
Updates checkpoint documentation. |
src/Orleans.Streaming/PersistentStreams/StreamConsumerCollection.cs |
Removes read-boundary tracking. |
src/Orleans.Streaming/PersistentStreams/QueueStreamDataStructures.cs |
Removes caught-up tracking. |
src/Orleans.Streaming/PersistentStreams/PersistentStreamPullingAgent.cs |
Restores subscription-based checkpoint progress. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Code coverage
Report-only conclusion: mixed. The current-main baseline is commit Coverage combines every CI test matrix job, including providers, CodeGen, .NET 8/10, Linux, Windows, and macOS, using canonical physical source and branch identities. The comparison remains report-only while normal line and branch variance is calibrated. Coverage details |
Reverts #11249 because recoverable failures could disable checkpoint advancement for the queue's lifetime, allowing idle subscriptions to pin the checkpoint until the pulling agent restarts. This restores pre-#11249 subscription-based checkpoint progress while preserving #11268's shutdown-draining and handshake-ownership guarantees. We will re-attempt applying the advancement changes with recovery fixes in #11269.
Microsoft Reviewers: Open in CodeFlow