Skip to content

Shared: Disable dynamic reordering for select predicate - #22486

Merged
kaspersv merged 1 commit into
github:mainfrom
kaspersv:kaspersv/ruby-disable-reordering
Sep 2, 2026
Merged

Shared: Disable dynamic reordering for select predicate#22486
kaspersv merged 1 commit into
github:mainfrom
kaspersv:kaspersv/ruby-disable-reordering

Conversation

@kaspersv

@kaspersv kaspersv commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

We are working on a new dynamic join orderer for CodeQL that join orders predicates at evaluation-time using run-time cardinality information instead of relying on a statically chosen join order decided at compilation-time. At the moment the dispatch predicate for the ...Request::Range.getAUrlPart method is join ordered badly by the dynamic join orderer, leading to a catastrophic join regression for ruby-opal. This PR disables dynamic join ordering for the affected predicate, while we work on improving the dynamic join orderer.

Dynamic join ordering is still disabled by default during compilation and evaluation and the no_dynamic_join_order pragma has no effect on compilation when dynamic join ordering is not explicitly enabled during compilation.

@kaspersv
kaspersv requested a review from a team as a code owner September 2, 2026 06:28
Copilot AI balanced review requested due to automatic review settings September 2, 2026 06:28
@kaspersv kaspersv added the no-change-note-required This PR does not need a change note label Sep 2, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The narrowly scoped pragma correctly targets the reported regression without changing default behavior.

Review tier: Balanced
Findings: None

What changed in this PR

Disables dynamic join ordering for the problematic HTTP request URL-part dispatch predicate.

Changes:

  • Adds no_dynamic_join_order to Request::Range.getAUrlPart.
File Description
shared/​concepts/​codeql/​concepts/​ConceptsShared.qll Applies the targeted join-ordering safeguard.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@kaspersv
kaspersv merged commit e7181b3 into github:main Sep 2, 2026
108 of 109 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-change-note-required This PR does not need a change note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants