Skip to content

feat: evaluate HAVING on merged cross-shard rows - #1911

Open
murex971 wants to merge 5 commits into
mainfrom
having-execution
Open

murex971 wants to merge 5 commits into
mainfrom
having-execution

Conversation

@murex971

Copy link
Copy Markdown
Contributor

No description provided.

@codecov

codecov Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.59551% with 5 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...tend/router/parser/rewrite/statement/projection.rs 84.21% 3 Missing ⚠️
pgdog/src/backend/pool/connection/buffer.rs 98.38% 1 Missing ⚠️
...og/src/backend/pool/connection/multi_shard/test.rs 98.63% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@murex971
murex971 added this pull request to stack #1912 October 28, 2026 06:32
@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Metal bench failed. 1 of 150 measures outside bounds.

suite throughput cpu/txn user cycles/txn user instr/txn kernel cycles/txn ctx/txn
pooler 26.03 (-0.4% ± 1.0%) 26,392 (+0.0% ± 0.6%) 35,205 (-0.0% ± 0.02%) 37,379 (-0.5% ± 1.6%)
lb 26.97 (+0.1% ± 1.4%) 27,770 (+0.8% ± 0.8%) 36,078 (-0.0% ± 0.03%) 38,267 (-0.1% ± 2.1%)
sharding-w2 48.59 (-0.2%) 62,289 (-1.6%) 72,245 (-0.0%) 58,683 (+0.7%) 1.39 (+0.3%)
sharding-w8 158,867 (-1.4%) 46.16 (+0.9%) 66,448 (+1.1%) 56,072 (+0.0%) 52,628 (+0.6%) 0.1488 (+4.1%), bound +3%
Counters per txn
suite frontend stall l1i refill backend stall
pooler 12,118 (-0.8% ± 1.3%) 3,048 (-0.1% ± 0.6%) 2,852 (+3.5% ± 1.6%)
lb 12,982 (+1.2% ± 1.9%) 3,144 (+0.6% ± 0.5%) 3,081 (+2.7% ± 1.8%)
sharding-w2 33,848 (-3.7%) 5,092 (-0.6%) 6,884 (+5.0%)
sharding-w8 37,199 (+0.9%) 4,985 (+0.4%) 9,539 (+2.7%)

Microbench: all 135 measures within bounds.

  • extended_cached: 14 of 15 benches slower, median +2.6% ± 0.5%
  • extended_cold: 12 of 15 benches slower, median +1.6% ± 0.4%
  • simple_cold: 12 of 15 benches slower, median +2.6% ± 0.3%
lb flamegraph vs 17cc5b6

lb

Open interactive for hover, zoom and search.

lb removed

Open interactive.

microbench flamegraph vs 17cc5b6

microbench

Open interactive for hover, zoom and search.

microbench removed

Open interactive.

pooler flamegraph vs 17cc5b6

pooler

Open interactive for hover, zoom and search.

pooler removed

Open interactive.

sharding-w2 flamegraph vs 17cc5b6

sharding-w2

Open interactive for hover, zoom and search.

sharding-w2 removed

Open interactive.

sharding-w8 flamegraph vs 17cc5b6

sharding-w8

Open interactive for hover, zoom and search.

sharding-w8 removed

Open interactive.

Logs

lb, microbench, pooler, sharding-w2, sharding-w8, verdict.json

Compared c35e0f9 with 17cc5b6.

Comment thread pgdog/src/backend/pool/connection/multi_shard/mod.rs
Comment thread pgdog/src/backend/pool/connection/buffer/having.rs Outdated
@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

🐰 Bencher Report

ProjectPgDog
Branchhaving-execution
TestbedIntel v1

🚨 1 Alert

BenchmarkMeasure
Units
ViewBenchmark Result
(Result Δ%)
Upper Boundary
(Limit %)
lb-v3cpu-per-txn
Measure (units)
📈 plot
🚷 threshold
🚨 alert (🔔)
42.40 units
(+1.90%)Baseline: 41.61 units
42.03 units
(100.90%)

Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s) x 1e3
(Result Δ%)
Lower Boundary
operations / second (ops/s) x 1e3
(Limit %)
cpu-per-txnBenchmark Result
Measure (units)
(Result Δ%)
Upper Boundary
Measure (units)
(Limit %)
lb-v3📈 view plot
🚷 view threshold
15.99 ops/s x 1e3
(+0.00%)Baseline: 15.99 ops/s x 1e3
15.83 ops/s x 1e3
(99.00%)
📈 view plot
🚷 view threshold
🚨 view alert (🔔)
42.40 units
(+1.90%)Baseline: 41.61 units
42.03 units
(100.90%)

🐰 View full continuous benchmarking report in Bencher

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

🐰 Bencher Report

ProjectPgDog
Branchhaving-execution
TestbedIntel v1
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s) x 1e3
(Result Δ%)
Lower Boundary
operations / second (ops/s) x 1e3
(Limit %)
cpu-per-txnBenchmark Result
Measure (units)
(Result Δ%)
Upper Boundary
Measure (units)
(Limit %)
pooler-v3📈 view plot
🚷 view threshold
16.99 ops/s x 1e3
(+0.00%)Baseline: 16.99 ops/s x 1e3
16.82 ops/s x 1e3
(99.00%)
📈 view plot
🚷 view threshold
40.91 units
(+0.90%)Baseline: 40.55 units
40.95 units
(99.90%)
🐰 View full continuous benchmarking report in Bencher

@murex971
murex971 requested a review from jkaczman October 28, 2026 17:33
@murex971

Copy link
Copy Markdown
Contributor Author

@jkaczman I think that failed bencher report is noise here

@jkaczman

Copy link
Copy Markdown
Contributor

@jkaczman I think that failed bencher report is noise here

Probably. I'll be replacing Bencher this evening with x86 spot instances from AWS running within the metal bench to supplement the current arm64 Graviton data, which should fix the noise via the extra work our bench does to eliminate variance and provide 95% confidence intervals. I'll also fix that flaky ctx measure.

@jkaczman

Copy link
Copy Markdown
Contributor

@murex971 can you rebase off main to get the new x86 bench in here?

This branch has not been deployed

No deployments
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.

2 participants