Skip to content

Fix BWC regression: int4 vector types drop confidence_interval after Lucene 10.4 upgrade#144673

Closed
tballison wants to merge 7 commits intoelastic:mainfrom
tballison:issue-143980
Closed

Fix BWC regression: int4 vector types drop confidence_interval after Lucene 10.4 upgrade#144673
tballison wants to merge 7 commits intoelastic:mainfrom
tballison:issue-143980

Conversation

@tballison
Copy link
Copy Markdown
Contributor

See title.

This should fix: #143980

@elasticsearchmachine elasticsearchmachine added external-contributor Pull request authored by a developer outside the Elasticsearch team needs:triage Requires assignment of a team area label v9.4.0 labels Mar 20, 2026
@tballison tballison added medium-risk An open issue or test failure that is a medium risk to future releases priority:high A label for assessing bug priority to be used by ES engineers :Search Relevance/Search Catch all for Search Relevance and removed external-contributor Pull request authored by a developer outside the Elasticsearch team labels Mar 20, 2026
@elasticsearchmachine elasticsearchmachine added the Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch label Mar 20, 2026
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Pinging @elastic/es-search-relevance (Team:Search Relevance)

@elasticsearchmachine elasticsearchmachine removed the needs:triage Requires assignment of a team area label label Mar 20, 2026
@tballison tballison added the >bug label Mar 20, 2026
@benwtrent
Copy link
Copy Markdown
Member

Same as #144597

Coordinating with @tteofili ?

Comment on lines +3544 to +3546
// 0.0 (dynamic quantiles) is the old default; suppress deprecation noise on BWC round-trips.
boolean shouldWarn = indexVersion.onOrAfter(IndexVersions.UPGRADE_TO_LUCENE_10_4_0)
&& confidenceInterval != 0.0f;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

How do we still warn for users who directly provide confidence_interval 0?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Y, that's my other concern. We can't set a sentinel -1 because that would break validation. I certainly don't want to add a separate confidence_interval_explicitly_set. Same warning no matter the value? Or maybe diff warning if 0.0?

builder.field("confidence_interval", confidenceInterval);
}
// Always write for BWC: pre-Lucene-10.4 nodes expect confidence_interval to be present.
builder.field("confidence_interval", confidenceInterval != null ? confidenceInterval : 0.0f);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't think there are any side-effects from injecting 0.0 when null, but please review this carefully.

@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Hi @tballison, I've created a changelog YAML for you.

@tballison
Copy link
Copy Markdown
Contributor Author

#144597

@tballison tballison closed this Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

>bug medium-risk An open issue or test failure that is a medium risk to future releases priority:high A label for assessing bug priority to be used by ES engineers :Search Relevance/Search Catch all for Search Relevance Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] MixedClusterClientYamlTestSuiteIT class failing

3 participants