Skip to content

chore(zero-cache): release reservation before waiting for stream to catch up#5571

Merged
darkgnotic merged 3 commits intomainfrom
darkgnotic/release-reservation-before-wait
Feb 15, 2026
Merged

chore(zero-cache): release reservation before waiting for stream to catch up#5571
darkgnotic merged 3 commits intomainfrom
darkgnotic/release-reservation-before-wait

Conversation

@darkgnotic
Copy link
Contributor

Before waiting for the main replication stream to catch up to the backfill watermark, release the stream reservation.

@vercel
Copy link

vercel bot commented Feb 15, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
replicache-docs Ready Ready Preview, Comment Feb 15, 2026 8:17pm
zbugs Ready Ready Preview, Comment Feb 15, 2026 8:17pm

Request Review

@github-actions
Copy link

github-actions bot commented Feb 15, 2026

🐰 Bencher Report

Branchdarkgnotic/release-reservation-before-wait
TestbedLinux
Click to view all benchmark results
BenchmarkFile SizeBenchmark Result
kilobytes (KB)
(Result Δ%)
Upper Boundary
kilobytes (KB)
(Limit %)
zero-package.tgz📈 view plot
🚷 view threshold
1,896.75 KB
(+0.00%)Baseline: 1,896.72 KB
1,934.65 KB
(98.04%)
zero.js📈 view plot
🚷 view threshold
248.00 KB
(0.00%)Baseline: 248.00 KB
252.96 KB
(98.04%)
zero.js.br📈 view plot
🚷 view threshold
67.90 KB
(0.00%)Baseline: 67.90 KB
69.26 KB
(98.04%)
🐰 View full continuous benchmarking report in Bencher

@github-actions
Copy link

github-actions bot commented Feb 15, 2026

🐰 Bencher Report

Branchdarkgnotic/release-reservation-before-wait
Testbedself-hosted
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
1 exists: track.exists(album)📈 view plot
🚷 view threshold
13,378.36 ops/s
(+1.46%)Baseline: 13,185.89 ops/s
10,934.30 ops/s
(81.73%)
10 exists (AND)📈 view plot
🚷 view threshold
194,629.30 ops/s
(+0.23%)Baseline: 194,184.02 ops/s
163,778.30 ops/s
(84.15%)
10 exists (OR)📈 view plot
🚷 view threshold
3,817.57 ops/s
(+0.15%)Baseline: 3,811.90 ops/s
3,260.31 ops/s
(85.40%)
12 exists (AND)📈 view plot
🚷 view threshold
173,731.34 ops/s
(+0.92%)Baseline: 172,150.66 ops/s
142,701.16 ops/s
(82.14%)
12 exists (OR)📈 view plot
🚷 view threshold
3,190.88 ops/s
(-1.09%)Baseline: 3,226.14 ops/s
2,728.93 ops/s
(85.52%)
12 level nesting📈 view plot
🚷 view threshold
2,833.40 ops/s
(+0.97%)Baseline: 2,806.16 ops/s
2,359.90 ops/s
(83.29%)
2 exists (AND): track.exists(album).exists(genre)📈 view plot
🚷 view threshold
4,815.87 ops/s
(-3.26%)Baseline: 4,977.94 ops/s
4,210.99 ops/s
(87.44%)
3 exists (AND)📈 view plot
🚷 view threshold
1,921.50 ops/s
(-1.28%)Baseline: 1,946.38 ops/s
1,662.13 ops/s
(86.50%)
3 exists (OR)📈 view plot
🚷 view threshold
973.54 ops/s
(+0.21%)Baseline: 971.49 ops/s
823.81 ops/s
(84.62%)
5 exists (AND)📈 view plot
🚷 view threshold
302.94 ops/s
(-1.26%)Baseline: 306.80 ops/s
261.41 ops/s
(86.29%)
5 exists (OR)📈 view plot
🚷 view threshold
158.80 ops/s
(-1.63%)Baseline: 161.42 ops/s
136.36 ops/s
(85.87%)
Nested 2 levels: track > album > artist📈 view plot
🚷 view threshold
4,288.43 ops/s
(-0.98%)Baseline: 4,331.06 ops/s
3,707.47 ops/s
(86.45%)
Nested 4 levels: playlist > tracks > album > artist📈 view plot
🚷 view threshold
686.69 ops/s
(-3.68%)Baseline: 712.95 ops/s
610.37 ops/s
(88.89%)
Nested with filters: track > album > artist (filtered)📈 view plot
🚷 view threshold
3,616.77 ops/s
(+0.20%)Baseline: 3,609.66 ops/s
3,067.60 ops/s
(84.82%)
planned: playlist.exists(tracks)📈 view plot
🚷 view threshold
248.56 ops/s
(-49.46%)Baseline: 491.77 ops/s
105.92 ops/s
(42.61%)
planned: track.exists(album) OR exists(genre)📈 view plot
🚷 view threshold
124.04 ops/s
(-16.87%)Baseline: 149.21 ops/s
108.73 ops/s
(87.66%)
planned: track.exists(album) where title="Big Ones"📈 view plot
🚷 view threshold
6,484.84 ops/s
(-7.79%)Baseline: 7,032.39 ops/s
5,786.61 ops/s
(89.23%)
planned: track.exists(album).exists(genre)📈 view plot
🚷 view threshold
7.22 ops/s
(-74.84%)Baseline: 28.69 ops/s
-5.28 ops/s
(-73.15%)
planned: track.exists(album).exists(genre) with filters📈 view plot
🚷 view threshold
2,018.28 ops/s
(-51.59%)Baseline: 4,169.49 ops/s
657.17 ops/s
(32.56%)
planned: track.exists(playlists)📈 view plot
🚷 view threshold
1.57 ops/s
(-50.22%)Baseline: 3.16 ops/s
0.65 ops/s
(41.10%)
unplanned: playlist.exists(tracks)📈 view plot
🚷 view threshold
244.78 ops/s
(-48.90%)Baseline: 479.06 ops/s
102.84 ops/s
(42.01%)
unplanned: track.exists(album) OR exists(genre)📈 view plot
🚷 view threshold
19.87 ops/s
(-45.12%)Baseline: 36.20 ops/s
9.81 ops/s
(49.41%)
unplanned: track.exists(album) where title="Big Ones"📈 view plot
🚷 view threshold
52.69 ops/s
(-1.45%)Baseline: 53.47 ops/s
46.57 ops/s
(88.38%)
unplanned: track.exists(album).exists(genre)📈 view plot
🚷 view threshold
7.19 ops/s
(-74.80%)Baseline: 28.52 ops/s
-5.20 ops/s
(-72.42%)
unplanned: track.exists(album).exists(genre) with filters📈 view plot
🚷 view threshold
51.02 ops/s
(-2.10%)Baseline: 52.12 ops/s
45.16 ops/s
(88.51%)
unplanned: track.exists(playlists)📈 view plot
🚷 view threshold
1.57 ops/s
(-50.27%)Baseline: 3.16 ops/s
0.65 ops/s
(41.41%)
zpg: all playlists📈 view plot
🚷 view threshold
5.25 ops/s
(+0.71%)Baseline: 5.21 ops/s
3.40 ops/s
(64.81%)
zql: all playlists📈 view plot
🚷 view threshold
6.13 ops/s
(-11.87%)Baseline: 6.96 ops/s
5.20 ops/s
(84.75%)
zql: edit for limited query, inside the bound📈 view plot
🚷 view threshold
196,195.91 ops/s
(-2.27%)Baseline: 200,758.74 ops/s
173,343.69 ops/s
(88.35%)
zql: edit for limited query, outside the bound📈 view plot
🚷 view threshold
206,513.52 ops/s
(-0.62%)Baseline: 207,806.94 ops/s
177,092.64 ops/s
(85.75%)
zql: push into limited query, inside the bound📈 view plot
🚷 view threshold
119,034.55 ops/s
(+10.52%)Baseline: 107,701.96 ops/s
89,063.07 ops/s
(74.82%)
zql: push into limited query, outside the bound📈 view plot
🚷 view threshold
388,724.94 ops/s
(+0.63%)Baseline: 386,272.26 ops/s
313,466.27 ops/s
(80.64%)
zql: push into unlimited query📈 view plot
🚷 view threshold
400,195.52 ops/s
(+14.25%)Baseline: 350,286.61 ops/s
212,077.21 ops/s
(52.99%)
zqlite: all playlists📈 view plot
🚷 view threshold
1.58 ops/s
(-4.88%)Baseline: 1.66 ops/s
1.37 ops/s
(87.04%)
zqlite: edit for limited query, inside the bound📈 view plot
🚷 view threshold
66,549.54 ops/s
(-5.81%)Baseline: 70,657.00 ops/s
56,547.96 ops/s
(84.97%)
zqlite: edit for limited query, outside the bound📈 view plot
🚷 view threshold
68,616.43 ops/s
(-3.06%)Baseline: 70,780.69 ops/s
55,429.20 ops/s
(80.78%)
zqlite: push into limited query, inside the bound📈 view plot
🚷 view threshold
3,897.26 ops/s
(+0.82%)Baseline: 3,865.48 ops/s
3,450.37 ops/s
(88.53%)
zqlite: push into limited query, outside the bound📈 view plot
🚷 view threshold
83,833.69 ops/s
(+0.49%)Baseline: 83,423.77 ops/s
69,888.33 ops/s
(83.37%)
zqlite: push into unlimited query📈 view plot
🚷 view threshold
129,490.64 ops/s
(+6.29%)Baseline: 121,829.65 ops/s
101,318.54 ops/s
(78.24%)
🐰 View full continuous benchmarking report in Bencher

@github-actions
Copy link

github-actions bot commented Feb 15, 2026

🐰 Bencher Report

Branchdarkgnotic/release-reservation-before-wait
Testbedself-hosted
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
src/client/custom.bench.ts > big schema📈 view plot
🚷 view threshold
129,154.17 ops/s
(-2.31%)Baseline: 132,213.09 ops/s
114,065.00 ops/s
(88.32%)
src/client/zero.bench.ts > basics > All 1000 rows x 10 columns (numbers)📈 view plot
🚷 view threshold
1,415.15 ops/s
(-31.85%)Baseline: 2,076.66 ops/s
952.78 ops/s
(67.33%)
src/client/zero.bench.ts > pk compare > pk = N📈 view plot
🚷 view threshold
58,010.40 ops/s
(-3.89%)Baseline: 60,357.20 ops/s
51,870.46 ops/s
(89.42%)
src/client/zero.bench.ts > with filter > Lower rows 500 x 10 columns (numbers)📈 view plot
🚷 view threshold
2,726.00 ops/s
(-18.80%)Baseline: 3,357.24 ops/s
2,269.48 ops/s
(83.25%)
🐰 View full continuous benchmarking report in Bencher

@darkgnotic darkgnotic added this pull request to the merge queue Feb 15, 2026
Merged via the queue into main with commit 066876c Feb 15, 2026
18 checks passed
@darkgnotic darkgnotic deleted the darkgnotic/release-reservation-before-wait branch February 15, 2026 20:33
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.

1 participant