Skip to content

chore(zero-cache): add retry logic for test execution based on CI environment#5742

Merged
arv merged 2 commits intomainfrom
arv/retry
Apr 2, 2026
Merged

chore(zero-cache): add retry logic for test execution based on CI environment#5742
arv merged 2 commits intomainfrom
arv/retry

Conversation

@arv
Copy link
Copy Markdown
Contributor

@arv arv commented Apr 2, 2026

No description provided.

@arv arv enabled auto-merge April 2, 2026 11:56
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 2, 2026

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

Project Deployment Actions Updated (UTC)
replicache-docs Ready Ready Preview, Comment Apr 2, 2026 0:28am
zbugs Ready Ready Preview, Comment Apr 2, 2026 0:28am

Request Review

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 2, 2026

🐰 Bencher Report

Brancharv/retry
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,941.49 KB
(0.00%)Baseline: 1,941.49 KB
1,980.32 KB
(98.04%)
zero.js📈 view plot
🚷 view threshold
279.57 KB
(0.00%)Baseline: 279.57 KB
285.17 KB
(98.04%)
zero.js.br📈 view plot
🚷 view threshold
74.12 KB
(0.00%)Baseline: 74.12 KB
75.61 KB
(98.04%)
🐰 View full continuous benchmarking report in Bencher

@arv arv added this pull request to the merge queue Apr 2, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Apr 2, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 2, 2026

🐰 Bencher Report

Brancharv/retry
Testbedself-hosted-metal
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
src/db/pg-copy.bench.ts > pg-copy benchmark > copy📈 view plot
🚷 view threshold
24.05 ops/s
(+1.16%)Baseline: 23.77 ops/s
20.21 ops/s
(84.02%)
🐰 View full continuous benchmarking report in Bencher

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 2, 2026

🐰 Bencher Report

Brancharv/retry
Testbedself-hosted-metal
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s) x 1e3
(Result Δ%)
Lower Boundary
operations / second (ops/s) x 1e3
(Limit %)
src/client/custom.bench.ts > big schema📈 view plot
🚷 view threshold
113.63 ops/s x 1e3
(+3.99%)Baseline: 109.26 ops/s x 1e3
92.88 ops/s x 1e3
(81.74%)
src/client/zero.bench.ts > basics > All 1000 rows x 10 columns (numbers)📈 view plot
🚷 view threshold
1.27 ops/s x 1e3
(+1.73%)Baseline: 1.24 ops/s x 1e3
1.06 ops/s x 1e3
(83.56%)
src/client/zero.bench.ts > pk compare > pk = N📈 view plot
🚷 view threshold
35.15 ops/s x 1e3
(-1.71%)Baseline: 35.76 ops/s x 1e3
30.40 ops/s x 1e3
(86.48%)
src/client/zero.bench.ts > with filter > Lower rows 500 x 10 columns (numbers)📈 view plot
🚷 view threshold
2.12 ops/s x 1e3
(+6.47%)Baseline: 1.99 ops/s x 1e3
1.69 ops/s x 1e3
(79.83%)
🐰 View full continuous benchmarking report in Bencher

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 2, 2026

🐰 Bencher Report

Brancharv/retry
Testbedself-hosted-metal
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
src/chinook-hydration.bench.ts > all playlists > zpg: all playlists📈 view plot
🚷 view threshold
4.67 ops/s
(+1.12%)Baseline: 4.62 ops/s
3.92 ops/s
(84.06%)
src/chinook-hydration.bench.ts > all playlists > zql: all playlists📈 view plot
🚷 view threshold
5.41 ops/s
(-4.00%)Baseline: 5.63 ops/s
4.79 ops/s
(88.54%)
src/chinook-hydration.bench.ts > all playlists > zqlite: all playlists📈 view plot
🚷 view threshold
1.23 ops/s
(-4.45%)Baseline: 1.29 ops/s
1.09 ops/s
(88.96%)
src/chinook-manual-cases.bench.ts > tracks with artist name > flipped📈 view plot
🚷 view threshold
4,253.81 ops/s
(+1.64%)Baseline: 4,185.12 ops/s
3,557.35 ops/s
(83.63%)
src/chinook-manual-cases.bench.ts > tracks with artist name > not flipped📈 view plot
🚷 view threshold
30.35 ops/s
(-1.59%)Baseline: 30.84 ops/s
26.21 ops/s
(86.37%)
src/chinook-push.bench.ts > edit for limited query, inside the bound > zql: edit for limited query, inside the bound📈 view plot
🚷 view threshold
136,119.01 ops/s
(-2.93%)Baseline: 140,228.26 ops/s
119,194.02 ops/s
(87.57%)
src/chinook-push.bench.ts > edit for limited query, inside the bound > zqlite: edit for limited query, inside the bound📈 view plot
🚷 view threshold
51,479.43 ops/s
(+1.97%)Baseline: 50,484.11 ops/s
42,911.49 ops/s
(83.36%)
src/chinook-push.bench.ts > edit for limited query, outside the bound > zql: edit for limited query, outside the bound📈 view plot
🚷 view threshold
143,168.34 ops/s
(-4.80%)Baseline: 150,390.14 ops/s
127,831.62 ops/s
(89.29%)
src/chinook-push.bench.ts > edit for limited query, outside the bound > zqlite: edit for limited query, outside the bound📈 view plot
🚷 view threshold
51,461.08 ops/s
(+0.06%)Baseline: 51,431.81 ops/s
43,717.04 ops/s
(84.95%)
src/chinook-push.bench.ts > push into limited query, inside the bound > zql: push into limited query, inside the bound📈 view plot
🚷 view threshold
77,539.03 ops/s
(-1.72%)Baseline: 78,896.60 ops/s
67,062.11 ops/s
(86.49%)
src/chinook-push.bench.ts > push into limited query, inside the bound > zqlite: push into limited query, inside the bound📈 view plot
🚷 view threshold
2,974.86 ops/s
(-0.60%)Baseline: 2,992.73 ops/s
2,543.82 ops/s
(85.51%)
src/chinook-push.bench.ts > push into limited query, outside the bound > zql: push into limited query, outside the bound📈 view plot
🚷 view threshold
267,104.75 ops/s
(-4.10%)Baseline: 278,517.29 ops/s
236,739.70 ops/s
(88.63%)
src/chinook-push.bench.ts > push into limited query, outside the bound > zqlite: push into limited query, outside the bound📈 view plot
🚷 view threshold
56,862.30 ops/s
(+1.66%)Baseline: 55,932.16 ops/s
47,542.34 ops/s
(83.61%)
src/chinook-push.bench.ts > push into unlimited query > zql: push into unlimited query📈 view plot
🚷 view threshold
229,221.73 ops/s
(-1.74%)Baseline: 233,280.08 ops/s
198,288.07 ops/s
(86.50%)
src/chinook-push.bench.ts > push into unlimited query > zqlite: push into unlimited query📈 view plot
🚷 view threshold
83,872.51 ops/s
(+1.21%)Baseline: 82,868.17 ops/s
70,437.94 ops/s
(83.98%)
src/ivm-memory.bench.ts > hydration > hydrate: issues filtered open📈 view plot
🚷 view threshold
1,834.45 ops/s
src/ivm-memory.bench.ts > hydration > hydrate: issues limit 50📈 view plot
🚷 view threshold
12,287.63 ops/s
src/ivm-memory.bench.ts > hydration > hydrate: issues only📈 view plot
🚷 view threshold
1,549.93 ops/s
src/ivm-memory.bench.ts > hydration > hydrate: issues with creator📈 view plot
🚷 view threshold
360.19 ops/s
src/ivm-memory.bench.ts > hydration > hydrate: issues with creator + comments📈 view plot
🚷 view threshold
163.73 ops/s
src/ivm-memory.bench.ts > push > push: add comment (child relation)📈 view plot
🚷 view threshold
48,127.62 ops/s
src/ivm-memory.bench.ts > push > push: add issue (no join)📈 view plot
🚷 view threshold
57,377.44 ops/s
src/ivm-memory.bench.ts > push > push: add issue (with creator join)📈 view plot
🚷 view threshold
59,935.53 ops/s
src/ivm-memory.bench.ts > push > push: add issue inside limit(50)📈 view plot
🚷 view threshold
112,641.24 ops/s
src/ivm-memory.bench.ts > push > push: add issue outside limit(50)📈 view plot
🚷 view threshold
180,599.24 ops/s
src/ivm-memory.bench.ts > push > push: edit issue title📈 view plot
🚷 view threshold
48,809.27 ops/s
src/planner-cost.bench.ts > planner cost > 1 exists: track.exists(album)📈 view plot
🚷 view threshold
8,993.69 ops/s
(+0.21%)Baseline: 8,975.07 ops/s
7,628.81 ops/s
(84.82%)
src/planner-cost.bench.ts > planner cost > 10 exists (AND)📈 view plot
🚷 view threshold
158,634.77 ops/s
(+5.28%)Baseline: 150,680.03 ops/s
128,078.02 ops/s
(80.74%)
src/planner-cost.bench.ts > planner cost > 10 exists (OR)📈 view plot
🚷 view threshold
2,970.55 ops/s
(+4.93%)Baseline: 2,831.04 ops/s
2,406.39 ops/s
(81.01%)
src/planner-cost.bench.ts > planner cost > 12 exists (AND)📈 view plot
🚷 view threshold
141,245.82 ops/s
(+3.23%)Baseline: 136,824.85 ops/s
116,301.13 ops/s
(82.34%)
src/planner-cost.bench.ts > planner cost > 12 exists (OR)📈 view plot
🚷 view threshold
2,547.61 ops/s
(+6.32%)Baseline: 2,396.27 ops/s
2,036.83 ops/s
(79.95%)
src/planner-cost.bench.ts > planner cost > 12 level nesting📈 view plot
🚷 view threshold
2,270.43 ops/s
(+6.03%)Baseline: 2,141.38 ops/s
1,820.17 ops/s
(80.17%)
src/planner-cost.bench.ts > planner cost > 2 exists (AND): track.exists(album).exists(genre)📈 view plot
🚷 view threshold
3,841.03 ops/s
(+4.42%)Baseline: 3,678.62 ops/s
3,126.83 ops/s
(81.41%)
src/planner-cost.bench.ts > planner cost > 3 exists (AND)📈 view plot
🚷 view threshold
1,477.93 ops/s
(+2.69%)Baseline: 1,439.24 ops/s
1,223.36 ops/s
(82.77%)
src/planner-cost.bench.ts > planner cost > 3 exists (OR)📈 view plot
🚷 view threshold
778.11 ops/s
(+6.13%)Baseline: 733.20 ops/s
623.22 ops/s
(80.09%)
src/planner-cost.bench.ts > planner cost > 5 exists (AND)📈 view plot
🚷 view threshold
239.48 ops/s
(+5.41%)Baseline: 227.17 ops/s
193.10 ops/s
(80.63%)
src/planner-cost.bench.ts > planner cost > 5 exists (OR)📈 view plot
🚷 view threshold
125.64 ops/s
(+6.04%)Baseline: 118.48 ops/s
100.70 ops/s
(80.16%)
src/planner-cost.bench.ts > planner cost > Nested 2 levels: track > album > artist📈 view plot
🚷 view threshold
3,354.59 ops/s
(+4.40%)Baseline: 3,213.21 ops/s
2,731.23 ops/s
(81.42%)
src/planner-cost.bench.ts > planner cost > Nested 4 levels: playlist > tracks > album > artist📈 view plot
🚷 view threshold
556.85 ops/s
(+5.17%)Baseline: 529.46 ops/s
450.04 ops/s
(80.82%)
src/planner-cost.bench.ts > planner cost > Nested with filters: track > album > artist (filtered)📈 view plot
🚷 view threshold
2,813.16 ops/s
(+4.64%)Baseline: 2,688.39 ops/s
2,285.13 ops/s
(81.23%)
src/planner-hydration.bench.ts > playlist.exists(tracks) > planned: playlist.exists(tracks)📈 view plot
🚷 view threshold
448.43 ops/s
(-7.06%)Baseline: 482.48 ops/s
410.11 ops/s
(91.45%)
src/planner-hydration.bench.ts > playlist.exists(tracks) > unplanned: playlist.exists(tracks)📈 view plot
🚷 view threshold
435.08 ops/s
(-8.46%)Baseline: 475.26 ops/s
403.98 ops/s
(92.85%)
src/planner-hydration.bench.ts > track.exists(album) OR exists(genre) > planned: track.exists(album) OR exists(genre)📈 view plot
🚷 view threshold
120.86 ops/s
(+4.16%)Baseline: 116.04 ops/s
98.63 ops/s
(81.61%)
src/planner-hydration.bench.ts > track.exists(album) OR exists(genre) > unplanned: track.exists(album) OR exists(genre)📈 view plot
🚷 view threshold
32.26 ops/s
(-0.55%)Baseline: 32.44 ops/s
27.57 ops/s
(85.47%)
src/planner-hydration.bench.ts > track.exists(album) where title="Big Ones" > planned: track.exists(album) where title="Big Ones"📈 view plot
🚷 view threshold
5,906.72 ops/s
(+2.49%)Baseline: 5,763.04 ops/s
4,898.59 ops/s
(82.93%)
src/planner-hydration.bench.ts > track.exists(album) where title="Big Ones" > unplanned: track.exists(album) where title="Big Ones"📈 view plot
🚷 view threshold
35.52 ops/s
(-2.37%)Baseline: 36.38 ops/s
30.92 ops/s
(87.06%)
src/planner-hydration.bench.ts > track.exists(album).exists(genre) > planned: track.exists(album).exists(genre)📈 view plot
🚷 view threshold
28.03 ops/s
(-3.03%)Baseline: 28.91 ops/s
24.57 ops/s
(87.66%)
src/planner-hydration.bench.ts > track.exists(album).exists(genre) > unplanned: track.exists(album).exists(genre)📈 view plot
🚷 view threshold
27.45 ops/s
(-3.93%)Baseline: 28.57 ops/s
24.28 ops/s
(88.47%)
src/planner-hydration.bench.ts > track.exists(album).exists(genre) with filters > planned: track.exists(album).exists(genre) with filters📈 view plot
🚷 view threshold
4,297.00 ops/s
(+1.48%)Baseline: 4,234.40 ops/s
3,599.24 ops/s
(83.76%)
src/planner-hydration.bench.ts > track.exists(album).exists(genre) with filters > unplanned: track.exists(album).exists(genre) with filters📈 view plot
🚷 view threshold
37.82 ops/s
(-2.33%)Baseline: 38.73 ops/s
32.92 ops/s
(87.03%)
src/planner-hydration.bench.ts > track.exists(playlists) > planned: track.exists(playlists)📈 view plot
🚷 view threshold
2.87 ops/s
(-3.76%)Baseline: 2.98 ops/s
2.53 ops/s
(88.32%)
src/planner-hydration.bench.ts > track.exists(playlists) > unplanned: track.exists(playlists)📈 view plot
🚷 view threshold
2.84 ops/s
(-4.13%)Baseline: 2.97 ops/s
2.52 ops/s
(88.66%)
🐰 View full continuous benchmarking report in Bencher

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 2, 2026

🐰 Bencher Report

Brancharv/retry
Testbedself-hosted-metal
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
src/size-of-value.bench.ts > getSizeOfValue performance > arrays > large array (100 items)📈 view plot
🚷 view threshold
1,517,202.68 ops/s
(+1.17%)Baseline: 1,499,723.12 ops/s
1,274,764.65 ops/s
(84.02%)
src/size-of-value.bench.ts > getSizeOfValue performance > arrays > small array (10 items)📈 view plot
🚷 view threshold
12,462,399.32 ops/s
(+0.24%)Baseline: 12,432,652.07 ops/s
10,567,754.26 ops/s
(84.80%)
src/size-of-value.bench.ts > getSizeOfValue performance > datasets > large dataset (100x512B)📈 view plot
🚷 view threshold
39,185.75 ops/s
(+2.94%)Baseline: 38,065.35 ops/s
32,355.55 ops/s
(82.57%)
src/size-of-value.bench.ts > getSizeOfValue performance > datasets > small dataset (10x256B)📈 view plot
🚷 view threshold
392,714.33 ops/s
(+1.78%)Baseline: 385,858.88 ops/s
327,980.05 ops/s
(83.52%)
src/size-of-value.bench.ts > getSizeOfValue performance > objects > nested object📈 view plot
🚷 view threshold
3,291,908.61 ops/s
(-0.80%)Baseline: 3,318,347.39 ops/s
2,820,595.29 ops/s
(85.68%)
src/size-of-value.bench.ts > getSizeOfValue performance > objects > structured object (1KB)📈 view plot
🚷 view threshold
3,866,252.03 ops/s
(+1.17%)Baseline: 3,821,672.76 ops/s
3,248,421.85 ops/s
(84.02%)
src/size-of-value.bench.ts > getSizeOfValue performance > objects > structured object (256B)📈 view plot
🚷 view threshold
3,838,142.68 ops/s
(+0.62%)Baseline: 3,814,337.36 ops/s
3,242,186.76 ops/s
(84.47%)
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > boolean📈 view plot
🚷 view threshold
63,913,386.97 ops/s
(-7.57%)Baseline: 69,148,460.34 ops/s
58,776,191.29 ops/s
(91.96%)
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > integer📈 view plot
🚷 view threshold
62,945,815.98 ops/s
(-8.92%)Baseline: 69,112,257.20 ops/s
58,745,418.62 ops/s
(93.33%)
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > null📈 view plot
🚷 view threshold
64,170,805.95 ops/s
(-7.67%)Baseline: 69,500,897.97 ops/s
59,075,763.27 ops/s
(92.06%)
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > string (100 chars)📈 view plot
🚷 view threshold
753,029.38 ops/s
(-3.28%)Baseline: 778,580.00 ops/s
661,793.00 ops/s
(87.88%)
src/tdigest.bench.ts > TDigest Benchmarks > add📈 view plot
🚷 view threshold
2.35 ops/s
(-2.30%)Baseline: 2.40 ops/s
2.04 ops/s
(87.00%)
src/tdigest.bench.ts > TDigest Benchmarks > addCentroid📈 view plot
🚷 view threshold
1.85 ops/s
(-1.40%)Baseline: 1.87 ops/s
1.59 ops/s
(86.21%)
src/tdigest.bench.ts > TDigest Benchmarks > addCentroidList📈 view plot
🚷 view threshold
1.90 ops/s
(-0.58%)Baseline: 1.91 ops/s
1.62 ops/s
(85.49%)
src/tdigest.bench.ts > TDigest Benchmarks > merge > addCentroid📈 view plot
🚷 view threshold
30,484.69 ops/s
(-1.36%)Baseline: 30,906.42 ops/s
26,270.45 ops/s
(86.18%)
src/tdigest.bench.ts > TDigest Benchmarks > merge > merge📈 view plot
🚷 view threshold
31,241.80 ops/s
(-0.68%)Baseline: 31,455.97 ops/s
26,737.58 ops/s
(85.58%)
src/tdigest.bench.ts > TDigest Benchmarks > quantile📈 view plot
🚷 view threshold
2.34 ops/s
(-0.13%)Baseline: 2.35 ops/s
1.99 ops/s
(85.11%)
🐰 View full continuous benchmarking report in Bencher

@arv arv merged commit f941971 into main Apr 2, 2026
5 of 8 checks passed
@arv arv deleted the arv/retry branch April 2, 2026 12:27
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