aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/005-direct-document-peer
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-26 06:30:03 +0100
committereunhhu <[email protected]>2026-09-26 06:30:03 +0100
commit9408c57e0f2485fd7960135c931aa120dcb3fa8f (patch)
treea88f51124bb3d539752a87be0656a0546505682d /research/experiments/005-direct-document-peer
parentc7ae77cdf4623c3eb07935081510478be9063024 (diff)
downloadpure-9408c57e0f2485fd7960135c931aa120dcb3fa8f.tar.gz
pure-9408c57e0f2485fd7960135c931aa120dcb3fa8f.zip
Group the commits of concurrent threads
Threads that commit at the same time now share one commit: they queue, the first becomes the leader and publishes every queued request of the same store with one head, and the others wait for its result. Each request stays all or nothing on its own: one with a stale draft is left out, and so is one whose key an earlier request of the group changes. When several threads have been committing together, a leader waits up to 2 ms for as many to join as groups held lately; a single thread never waits. A test pauses a publication and checks that five commits make exactly two publications. Under eight writers on three pure-serve shards, 1,234 bursts went out in 421 publications. pure_store_group_counts reports the groups, and pure-serve prints them.
Diffstat (limited to 'research/experiments/005-direct-document-peer')
0 files changed, 0 insertions, 0 deletions