Skip to content

Remove backwards-compat workaround for null groupingKeyValue in streaming aggregation#4166

Draft
ScottDugas wants to merge 2 commits into
FoundationDB:mainfrom
ScottDugas:mixed-mode-option-a-with-mm
Draft

Remove backwards-compat workaround for null groupingKeyValue in streaming aggregation#4166
ScottDugas wants to merge 2 commits into
FoundationDB:mainfrom
ScottDugas:mixed-mode-option-a-with-mm

Conversation

@ScottDugas
Copy link
Copy Markdown
Collaborator

@ScottDugas ScottDugas commented May 13, 2026

This is an attempt to demonstrate the value of our mixed-mode tests. It is premature to remove this check, as will be seen in the mixedMode testing.

…ming aggregation

This is an attempt to demonstrate the value of our mixed-mode tests.
It is premature to remove this check, as will be seen in the mixedMode
testing.
@ScottDugas ScottDugas added enhancement New feature or request DO NOT MERGE do not merge Run mixed-mode Label to add to Pull Requests to have it run mixed mode tests labels May 13, 2026
@github-actions
Copy link
Copy Markdown

📊 Metrics Diff Analysis Report

Summary

  • New queries: 0
  • Dropped queries: 0
  • Plan changed + metrics changed: 2
  • Plan unchanged + metrics changed: 0
ℹ️ About this analysis

This automated analysis compares query planner metrics between the base branch and this PR. It categorizes changes into:

  • New queries: Queries added in this PR
  • Dropped queries: Queries removed in this PR. These should be reviewed to ensure we are not losing coverage.
  • Plan changed + metrics changed: The query plan has changed along with planner metrics.
  • Metrics only changed: Same plan but different metrics

The last category in particular may indicate planner regressions that should be investigated.

Plan and Metrics Changed

These queries experienced both plan and metrics changes. This generally indicates that there was some planner change
that means the planning for this query may be substantially different. Some amount of query plan metrics change is expected,
but the reviewer should still validate that these changes are not excessive.

Total: 2 queries

Statistical Summary (Plan and Metrics Changed)

task_count:

  • Average change: -30.0
  • Median change: -30
  • Standard deviation: 0.0
  • Range: -30 to -30
  • Queries changed: 2
  • No regressions! 🎉

transform_count:

  • Average change: -5.0
  • Median change: -5
  • Standard deviation: 0.0
  • Range: -5 to -5
  • Queries changed: 2
  • No regressions! 🎉

transform_yield_count:

  • Average change: -2.0
  • Median change: -2
  • Standard deviation: 0.0
  • Range: -2 to -2
  • Queries changed: 2
  • No regressions! 🎉

insert_new_count:

  • Average change: -3.0
  • Median change: -3
  • Standard deviation: 0.0
  • Range: -3 to -3
  • Queries changed: 2
  • No regressions! 🎉

Significant Regressions (Plan and Metrics Changed)

There were 2 outliers detected. Outlier queries have a significant regression in at least one field. Statistically, this represents either an increase of more than two standard deviations above the mean or a large absolute increase (e.g., 100).

  • yaml-tests/src/test/resources/groupby-tests.metrics.yaml:102: EXPLAIN SELECT COUNT(*) from T1 WHERE col1 = 20 or col2 = 5
    • old explain: ISCAN(I1 <,>) | FILTER _.COL1 EQUALS promote(@c10 AS LONG) OR _.COL2 EQUALS promote(@c14 AS LONG) | MAP (_ AS _0) | AGG (count_star(*) AS _0) GROUP BY () | ON EMPTY NULL | MAP (coalesce_long(_._0._0, promote(0l AS LONG)) AS _0)
    • new explain: ISCAN(I1 <,>) | FILTER _.COL1 EQUALS promote(@c10 AS LONG) OR _.COL2 EQUALS promote(@c14 AS LONG) | MAP (_ AS _0) | AGG (count_star(*) AS _0) | ON EMPTY NULL | MAP (coalesce_long(_._0._0, promote(0l AS LONG)) AS _0)
    • task_count: 1075 -> 1045 (-30)
    • transform_count: 260 -> 255 (-5)
    • transform_yield_count: 71 -> 69 (-2)
    • insert_new_count: 146 -> 143 (-3)
  • yaml-tests/src/test/resources/groupby-tests.metrics.yaml:115: EXPLAIN SELECT COUNT(*) from T1 WHERE col1 = 20 or col2 = 10
    • old explain: ISCAN(I1 <,>) | FILTER _.COL1 EQUALS promote(@c10 AS LONG) OR _.COL2 EQUALS promote(@c14 AS LONG) | MAP (_ AS _0) | AGG (count_star(*) AS _0) GROUP BY () | ON EMPTY NULL | MAP (coalesce_long(_._0._0, promote(0l AS LONG)) AS _0)
    • new explain: ISCAN(I1 <,>) | FILTER _.COL1 EQUALS promote(@c10 AS LONG) OR _.COL2 EQUALS promote(@c14 AS LONG) | MAP (_ AS _0) | AGG (count_star(*) AS _0) | ON EMPTY NULL | MAP (coalesce_long(_._0._0, promote(0l AS LONG)) AS _0)
    • task_count: 1075 -> 1045 (-30)
    • transform_count: 260 -> 255 (-5)
    • transform_yield_count: 71 -> 69 (-2)
    • insert_new_count: 146 -> 143 (-3)

@ScottDugas ScottDugas changed the title Mixed mode option a with mm Remove backwards-compat workaround for null groupingKeyValue in streaming aggregation May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DO NOT MERGE do not merge enhancement New feature or request Run mixed-mode Label to add to Pull Requests to have it run mixed mode tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant