Always Copy-on-Write when updating payload in immutable segments#7952
Always Copy-on-Write when updating payload in immutable segments#7952
Conversation
|
What is the rational for this change exactly? |
Partial snapshots don't work well enough if we modify payload in-place in immutable segments. |
Make immutable segments properly immutable. It has two benefits:
There is one exception that remains: deleted flags. But it's likely we can implement this in a lock free fashion with atomics. Our guess is that impact on users is minimal to nothing. For existing users this would only have been beneficial if they'd update payload that also is not indexed. We believe that doesn't really happen often in practice. |
This comment was marked as resolved.
This comment was marked as resolved.
|
@ffuugoo please resolve conflict |
Who did this!? 😡 |
ae81a34 to
85e1c99
Compare
Rebased |
This makes partial snapshots more efficient. Without this change, if we modify a single payload (key) in immutable segment, the whole payload storage (for this segment) have to be included into the snapshot.
All Submissions:
devbranch. Did you create your branch fromdev?New Feature Submissions:
cargo +nightly fmt --allcommand prior to submission?cargo clippy --workspace --all-featurescommand?Changes to Core Features: