feat(partitions): rework partitions using new message#3020
feat(partitions): rework partitions using new message#3020
Conversation
Codecov Report❌ Patch coverage is ❌ Your patch check has failed because the patch coverage (12.77%) is below the target coverage (50.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## master #3020 +/- ##
============================================
- Coverage 71.74% 70.80% -0.95%
Complexity 943 943
============================================
Files 1121 1126 +5
Lines 93800 94710 +910
Branches 71124 72047 +923
============================================
- Hits 67301 67063 -238
- Misses 23863 25002 +1139
- Partials 2636 2645 +9
🚀 New features to boost your workflow:
|
3878d16 to
b1ce9c3
Compare
|
The |
hubcio
left a comment
There was a problem hiding this comment.
also outside of diff:
offset is Arc (iggy_partition.rs:43) but all stores use Ordering::Relaxed (iggy_partition.rs:108, iggy_partitions.rs:774). the Arc wrapper enables cross-thread sharing - if any other shard/thread reads this (metrics, consumer group coordination), Relaxed provides no ordering guarantees on ARM. should be Release on stores, Acquire on loads at cross-shard boundaries. on x86 this is harmless due to TSO, but iggy targets cross-platform.
Refactors partition messaging around Message<H, B>, where the backing storage is part of the type rather than
being encoded through the old TwoHalves prefix/tail layout.
Request messages now use a contiguous Owned backing, while response-style paths can use fragmented storage
directly. This removes the old prefix/tail copy-on-write design entirely, along with the aliasing and uniqueness
problems it introduced. In particular, storage reads no longer need to reconstruct a request-shaped message from
a split buffer, which was fragile once the tail could already be shared by cache-backed Frozen values. The new
design makes the ownership model explicit, keeps the request path simple, and avoids relying on prefix
detachment semantics to preserve correctness.