Skip to content

Conversation

@nik9000
Copy link
Member

@nik9000 nik9000 commented Sep 1, 2020

This replaces a specialized bit set implementation used in cardinality
with our standard BitArray which works exactly the same way. Its also
tracked by BigArrays which is great!

This replaces a specialized bit set implementation used in cardinality
with our standard `BitArray` which works exactly the same way. Its also
tracked by `BigArrays` which is great!
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-analytics-geo (:Analytics/Aggregations)

@elasticmachine elasticmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Sep 1, 2020
@nik9000
Copy link
Member Author

nik9000 commented Sep 1, 2020

run elasticsearch-ci/2

Copy link
Contributor

@iverase iverase left a comment

Choose a reason for hiding this comment

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

I like the change but I am not happy with the ceremony of checking the range on the BucketOrds.

I had a look into the usage of BitArray and it seems we have a similar ceremony in TopMetricsAggregator. The situation is worst in BucketedSort and ParentJoinAggregator where we are doing a blind cast.

On the other hand there are other usages like in LongValuesSource where working on int make sense. I wonder if we should introduce a BigBitArray that works on long and avoid this ceremony?

We can do that in a follow up PR.

@nik9000
Copy link
Member Author

nik9000 commented Sep 2, 2020 via email

@nik9000
Copy link
Member Author

nik9000 commented Sep 2, 2020

@iverase I've updated this one now that we support longs. We may not need it at all given what we talked about this morning. But if you think we do I'd be happy to merge it.

Copy link
Contributor

@iverase iverase left a comment

Choose a reason for hiding this comment

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

We might still need it, lets merge it from now as it is an improvement of what we have now.

LGTM

@nik9000 nik9000 merged commit cf73651 into elastic:master Sep 3, 2020
@nik9000
Copy link
Member Author

nik9000 commented Sep 3, 2020

Thanks @iverase !

nik9000 added a commit to nik9000/elasticsearch that referenced this pull request Sep 3, 2020
This replaces a specialized bit set implementation used in cardinality
with our standard `BitArray` which works exactly the same way. Its also
tracked by `BigArrays` which is great!
nik9000 added a commit that referenced this pull request Sep 3, 2020
This replaces a specialized bit set implementation used in cardinality
with our standard `BitArray` which works exactly the same way. Its also
tracked by `BigArrays` which is great!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/Aggregations Aggregations >non-issue Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v7.10.0 v8.0.0-alpha1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants