Rare terms aggregation false **positive** fix#126884
Conversation
|
Pinging @elastic/es-analytical-engine (Team:Analytics) |
|
hello there, it's about a week since this pr was created, can anyone review this please? |
nik9000
left a comment
There was a problem hiding this comment.
Looks good. I'm going to make the robot happy and get this in.
|
Changelogbot, I've pushed a changelog. |
|
@iamgd67, what version are you using? |
|
Sorry for the long delay. Busy looking at very different areas, but yeah. Well done. Thanks for waiting! |
|
elasticmachine, test this please |
|
elasticmachine test this please |
|
buildkite run elasticsearch-ci |
|
buildkite test this |
|
buildkite test this |
I found that `rare_terms` aggregation can return **false positive**
results (some of the returned results are not real). I traced it
down and find out it's a bug in `CuckooFilter`'s merge methord.
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::add);
}
```
should be
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::addHash);
}
```
I found that `rare_terms` aggregation can return **false positive**
results (some of the returned results are not real). I traced it
down and find out it's a bug in `CuckooFilter`'s merge methord.
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::add);
}
```
should be
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::addHash);
}
```
I found that `rare_terms` aggregation can return **false positive**
results (some of the returned results are not real). I traced it
down and find out it's a bug in `CuckooFilter`'s merge methord.
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::add);
}
```
should be
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::addHash);
}
```
I found that `rare_terms` aggregation can return **false positive**
results (some of the returned results are not real). I traced it
down and find out it's a bug in `CuckooFilter`'s merge methord.
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::add);
}
```
should be
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::addHash);
}
```
Co-authored-by: iamgd67 <iamgd67@sina.com>
I found that `rare_terms` aggregation can return **false positive**
results (some of the returned results are not real). I traced it
down and find out it's a bug in `CuckooFilter`'s merge methord.
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::add);
}
```
should be
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::addHash);
}
```
Co-authored-by: iamgd67 <iamgd67@sina.com>
thanks for your review and merge. I am using 7.17.8 |
I found that `rare_terms` aggregation can return **false positive**
results (some of the returned results are not real). I traced it
down and find out it's a bug in `CuckooFilter`'s merge methord.
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::add);
}
```
should be
```
if (isSetMode == false && other.isSetMode) {
other.hashes.forEach(this::addHash);
}
```
Co-authored-by: iamgd67 <iamgd67@sina.com>
Oof. The earliest version I can get this to is 8.17. I've already got it back to 8.18 but would have to manaully pull it one more back if you want it there. Sorry. |
I found that
rare terms aggregationcan return false positive results (some of the returned results are not real rear).I traced it down and find out it's a bug in
CuckooFilter's merge methord.should be