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

Deprecate global_ordinals_hash and global_ordinals_low_cardinality #26173

Merged
merged 3 commits into from Aug 21, 2017

Conversation

@jimczi
Copy link
Member

jimczi commented Aug 11, 2017

This change deprecates the global_ordinals_hash and global_ordinals_low_cardinality and
makes the global_ordinals execution hint choose internally if global ords should be remapped or use the segment ord directly.
These hints are too sensitive and expert to be exposed and we should be able to take the right decision internally based on the agg tree.

Relates #26014

Copy link
Contributor

jpountz left a comment

I have mixed feelings about this PR. On the one hand I like it because I'd like users to never have to care about the execution mode, but on the other hand this PR moves part of the decision process from the factory to the aggregator, which feels wrong to me, and reduces testing coverage since we cannot force some execution modes anymore.

deprecationLogger.deprecated("global_ordinals_hash is deprecated. Please use [global_ordinals] instead.");
return GLOBAL_ORDINALS;
} else if ("map".equals(value)) {
return MAP;

This comment has been minimized.

Copy link
@jpountz

jpountz Aug 14, 2017

Contributor

let's do a switch/case?

@jimczi

This comment has been minimized.

Copy link
Member Author

jimczi commented Aug 14, 2017

but on the other hand this PR moves part of the decision process from the factory to the aggregator, which feels wrong to me, and reduces testing coverage since we cannot force some execution modes anymore.

isn't it the opposite ? The factory now picks global ordinals execution with remapping or plain ordinals with the same heuristic than before. I removed the late decision in the aggregator and replaced it with #26014. The aggregator is just able to remap or not based on the decision made in the factory.
For testing coverage I can add tests for the GlobalOrdinalsStringTermsAggregator which lacks testing anyway ?

@jpountz

This comment has been minimized.

Copy link
Contributor

jpountz commented Aug 14, 2017

Woops, I got a bit lost in the diff and misread your PR, sorry. This change is actually great the way it is. Thanks!

+1 to add tests to GlobalOrdinalsStringTermsAggregator.

jimczi added 3 commits Aug 11, 2017
This change deprecates the `global_ordinals_hash` and `global_ordinals_low_cardinality` and
makes the `global_ordinals` execution hint choose internally if global ords should be remapped or use the segment ord directly.
These hints are too sensitive and expert to be exposed and we should be able to take the right decision internally based on the agg tree.
@jimczi jimczi force-pushed the jimczi:global_ordinals_hint branch to 96becf6 Aug 21, 2017
@jimczi jimczi merged commit 977dcfe into elastic:master Aug 21, 2017
1 of 2 checks passed
1 of 2 checks passed
elasticsearch-ci Build started sha1 is merged.
Details
CLA Commit author is a member of Elasticsearch
Details
@jimczi jimczi deleted the jimczi:global_ordinals_hint branch Aug 21, 2017
jimczi added a commit that referenced this pull request Aug 21, 2017
jimczi added a commit that referenced this pull request Aug 21, 2017
…26173)

* Deprecate global_ordinals_hash and global_ordinals_low_cardinality

This change deprecates the `global_ordinals_hash` and `global_ordinals_low_cardinality` and
makes the `global_ordinals` execution hint choose internally if global ords should be remapped or use the segment ord directly.
These hints are too sensitive and expert to be exposed and we should be able to take the right decision internally based on the agg tree.
jimczi added a commit that referenced this pull request Aug 21, 2017
…ity exeuction hint deprecated in 6.1
@colings86 colings86 added v7.0.0-beta1 and removed v7.0.0 labels Feb 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.