Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove search auto strategy, estimateSelectivity of BitmapColumnIndex #15550

Merged
merged 2 commits into from
Dec 14, 2023

Conversation

clintropolis
Copy link
Member

Description

Removes the 'auto' strategy from the native search query to simplify BitmapColumnIndex to remove the estimateSelectivity method. The 'auto' strategy is not on by default, and in some cases can be rather expensive since for logical filters like AND/OR we fetch all of the indexes, compute the cardinality of each of them, and then throw them away, sometimes to turn around and do the same thing again to actually use the indexes.

The replacement for this will be smarter usage of indexes for all query types, as a follow-up I plan to bring the enhancements of #13977 to classic string typed columns, and I've got some additional improvements coming in the future.

Related dev mailing list thread

(This release note is currently a lie, but a follow-up PR will make it more true.)

Release note

The 'auto' strategy has been removed from the search query. Specifying 'auto' will now be equivalent to specifying 'useIndexes'. Improvements to how and when indexes are computed in general have allowed 'useIndexes' to benefit and be more adaptive when it uses indexes for filter processing, skipping computing expensive indexes when possible.


This PR has:

  • been self-reviewed.
  • added documentation for new or modified features or behaviors.
  • a release note entry in the PR description.
  • been tested in a test Druid cluster.

Copy link
Contributor

@gianm gianm left a comment

Choose a reason for hiding this comment

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

I'm ok with removing this. As far as I know, it's a rarely used feature, and removing it allows us to also remove estimateSelectivity and replace it with something better.

@gianm
Copy link
Contributor

gianm commented Dec 14, 2023

Merging, given there was already a dev list thread about this.

@gianm gianm merged commit e55f6b6 into apache:master Dec 14, 2023
83 checks passed
@clintropolis clintropolis deleted the remove-search-auto-strategy branch December 14, 2023 00:40
@LakshSingla
Copy link
Contributor

@clintropolis Can you please update this change in the https://github.com/apache/druid/blob/master/docs/release-info/release-notes.md, in a follow-up PR as well?

@clintropolis
Copy link
Member Author

@clintropolis Can you please update this change in the https://github.com/apache/druid/blob/master/docs/release-info/release-notes.md, in a follow-up PR as well?

Why would I do that? I haven't seen any discussion that is part of the process unless I missed something...

@LakshSingla LakshSingla added this to the 29.0.0 milestone Jan 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants