Skip to content

Conversation

@kurtisc
Copy link
Contributor

@kurtisc kurtisc commented Jan 14, 2026

Closes RV-834 and RV-844

What

Implements a write allowing updating an existing value.

Why

This is needed to support writes with an offset

How

Unifies #710 and #711

Splits the single write function into a write (with offset) and set (replacing).

Manually Testing

make all

No change to the benchmark

Tasks for the Author

  • Link all Linear issues related to this MR using magic words (e.g. part of, relates to, closes).
  • Eliminate dead code and other spurious artefacts introduced in your changes.
  • Document new public functions, methods and types.
  • Make sure the documentation for updated functions, methods, and types is correct.
  • Add tests for bugs that have been fixed.
  • Explain changes to regression test captures when applicable.
  • Write commit messages in agreement with our guidelines.
  • Self-review your changes to ensure they are high-quality.
  • Complete all of the above before assigning this MR to reviewers.

@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from 0c91db6 to 7c1bb3c Compare January 14, 2026 15:32
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch 2 times, most recently from 39e6e07 to df90877 Compare January 14, 2026 15:51
@codecov
Copy link

codecov bot commented Jan 14, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.27%. Comparing base (94b0af2) to head (4986ee5).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #712   +/-   ##
=======================================
  Coverage   91.26%   91.27%           
=======================================
  Files         108      108           
  Lines       20232    20232           
  Branches    20232    20232           
=======================================
+ Hits        18465    18466    +1     
+ Misses       1391     1390    -1     
  Partials      376      376           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from 7c1bb3c to eab2375 Compare January 14, 2026 18:26
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch from df90877 to f410ae8 Compare January 14, 2026 18:26
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from eab2375 to aa97782 Compare January 15, 2026 13:53
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch from f410ae8 to 82ad8c5 Compare January 15, 2026 13:53
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from aa97782 to d11f309 Compare January 15, 2026 17:11
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch 2 times, most recently from 9f3dc77 to caef237 Compare January 15, 2026 17:12
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch 2 times, most recently from 55d3e74 to 6bcaa72 Compare January 19, 2026 14:51
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch from caef237 to 2f1f9a0 Compare January 19, 2026 14:51
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from 6bcaa72 to b890e04 Compare January 19, 2026 14:52
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch 3 times, most recently from af427da to cedd8a3 Compare January 19, 2026 16:19
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from b890e04 to 00cf6f2 Compare January 19, 2026 16:19
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch from cedd8a3 to f5d3bc4 Compare January 19, 2026 16:25
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from 00cf6f2 to bf3c916 Compare January 20, 2026 09:17
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch 2 times, most recently from 5846a14 to b32561d Compare January 21, 2026 12:16
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from bf3c916 to 4d0b654 Compare January 21, 2026 12:16
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch from b32561d to 84983a9 Compare January 21, 2026 12:23
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch 2 times, most recently from 5cf8a85 to e66fb34 Compare January 21, 2026 13:03
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch from 84983a9 to 8bc3e3e Compare January 21, 2026 13:03
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from e66fb34 to 8825bda Compare January 21, 2026 15:29
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch from 8bc3e3e to 77a2658 Compare January 21, 2026 15:29
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch from feaee38 to 5c2eb4e Compare January 23, 2026 13:36
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from ebf2ef1 to b7fb440 Compare January 23, 2026 13:39
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch from 5c2eb4e to aae2e92 Compare January 23, 2026 13:39
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset-merge branch from b7fb440 to 9c11979 Compare January 23, 2026 16:26
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch 2 times, most recently from 919ca98 to 2836d7f Compare January 26, 2026 09:07
@kurtisc kurtisc changed the base branch from kurtis/durable-storage/write-offset-merge to main January 26, 2026 09:40
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch 2 times, most recently from b0fec71 to 4fc3c25 Compare January 26, 2026 10:03
@kurtisc kurtisc marked this pull request as ready for review January 26, 2026 10:05
@kurtisc kurtisc enabled auto-merge January 26, 2026 10:05
@github-actions
Copy link

github-actions bot commented Jan 26, 2026

Benchmark results for revision 370dd10:

Metric Duration TPS
Mean 1.524927504s 26.231
Worst 1.537266161s 26.020
Best 1.514972788s 26.403
Standard Deviation ±4.444058ms ±0.076
Full results
Run Transfers Duration TPS
1 40 1.537266161s 26.020
2 40 1.527070279s 26.194
3 40 1.528225798s 26.174
4 40 1.524166239s 26.244
5 40 1.525349826s 26.223
6 40 1.523267255s 26.259
7 40 1.514972788s 26.403
8 40 1.527505058s 26.186
9 40 1.521880218s 26.283
10 40 1.526731506s 26.200
11 40 1.518735899s 26.338
12 40 1.524162973s 26.244
13 40 1.526469205s 26.204
14 40 1.526720328s 26.200
15 40 1.525516053s 26.221
16 40 1.524982668s 26.230
17 40 1.529303821s 26.156
18 40 1.524079196s 26.245
19 40 1.523420702s 26.257
20 40 1.518724098s 26.338

Compare the results above with those for the default branch.

The new `set` API uses the cheaper value-replacing semantics.
@kurtisc kurtisc force-pushed the kurtis/durable-storage/write-offset branch from 4fc3c25 to 4986ee5 Compare January 26, 2026 10:47
@kurtisc kurtisc requested a review from NSant215 January 26, 2026 10:51
@kurtisc kurtisc added this pull request to the merge queue Jan 26, 2026
Merged via the queue into main with commit 968319a Jan 26, 2026
8 checks passed
@kurtisc kurtisc deleted the kurtis/durable-storage/write-offset branch January 26, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants