Skip to content

[ESQL] Route (LONG,BYTES_REF) through adaptive BlockHash - #152010

Merged
costin merged 2 commits into
elastic:mainfrom
costin:808-long-bytesref-adaptive-blockhash
Jun 24, 2026
Merged

costin merged 2 commits into
elastic:mainfrom
costin:808-long-bytesref-adaptive-blockhash

Conversation

@costin

@costin costin commented Jun 23, 2026

Copy link
Copy Markdown
Member

(LONG,BYTES_REF)/(BYTES_REF,LONG) STATS now uses a new
LongBytesRefAdaptiveBlockHash that runs a dict-aware vector-only
fast path (BytesRefBlockHash + LongLongHashTable) until a non-vector
page arrives, then migrates groups to PackedValuesBlockHash so
null/MV handling matches the contract. This re-enables the
optimization gated off since #99434 without resurrecting its broken
null path.

Out of scope (separate follow-ups): (LONG,LONG), (INT,BYTES_REF)
family, and the 3-key (LONG,LONG,BYTES_REF) shape.

(LONG,BYTES_REF)/(BYTES_REF,LONG) STATS now uses a new
LongBytesRefAdaptiveBlockHash that runs a dict-aware vector-only
fast path (BytesRefBlockHash + LongLongHashTable) until a non-vector
page arrives, then migrates groups to PackedValuesBlockHash so
null/MV handling matches the contract. This re-enables the
optimization gated off since elastic#99434 without resurrecting its broken
null path. Out of scope: (LONG,LONG) and the 3-key shape.
@costin
costin force-pushed the 808-long-bytesref-adaptive-blockhash branch from 2d71c6c to 29c723f Compare June 23, 2026 15:53
@costin
costin enabled auto-merge (squash) June 23, 2026 15:54
@elasticsearchmachine elasticsearchmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Jun 23, 2026
@elasticsearchmachine

Copy link
Copy Markdown
Collaborator

Pinging @elastic/es-analytical-engine (Team:Analytics)

@github-actions

github-actions Bot commented Jun 23, 2026 •

Copy link
Copy Markdown
Contributor

🔍 Preview links for changed docs

⏳ Building and deploying preview... View progress

This comment will be updated with preview links when the build is complete.

@github-actions

Copy link
Copy Markdown
Contributor

ℹ️ Important: Docs version tagging

👋 Thanks for updating the docs! Just a friendly reminder that our docs are now cumulative. This means all 9.x versions are documented on the same page and published off of the main branch, instead of creating separate pages for each minor version.

We use applies_to tags to mark version-specific features and changes.

Expand for a quick overview

When to use applies_to tags:

✅ At the page level to indicate which products/deployments the content applies to (mandatory)
✅ When features change state (e.g. preview, ga) in a specific version
✅ When availability differs across deployments and environments

What NOT to do:

❌ Don't remove or replace information that applies to an older version
❌ Don't add new information that applies to a specific version without an applies_to tag
❌ Don't forget that applies_to tags can be used at the page, section, and inline level

🤔 Need help?

@bpintea bpintea 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.

LG

@costin
costin merged commit a7667e3 into elastic:main Jun 24, 2026
40 checks passed
@costin
costin deleted the 808-long-bytesref-adaptive-blockhash branch June 24, 2026 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/ES|QL AKA ESQL >enhancement ES|QL|DS ES|QL datasources Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v9.5.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants