-
Notifications
You must be signed in to change notification settings - Fork 25.5k
Replace remote Enrich hack with proper handling of remote Enrich #134967
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
Open
smalyshev
wants to merge
72
commits into
elastic:main
Choose a base branch
from
smalyshev:entich-remote-unhack
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,176
−211
Open
Changes from 25 commits
Commits
Show all changes
72 commits
Select commit
Hold shift + click to select a range
d777561
Add check that remote enrich stays on remote side
smalyshev a93438f
Merge branch 'main' into remote-enrich-check
smalyshev b6244e5
Make it more generic
smalyshev a787ae8
[CI] Auto commit changes from spotless
6d638be
Verifier refactor
smalyshev 95ef823
Merge branch 'main' into remote-enrich-check
smalyshev 2490f60
Merge branch 'main' into remote-enrich-check
smalyshev 4e16026
Fix the fix for https://github.com/elastic/elasticsearch/issues/118531
smalyshev e3324c0
Merge branch 'main' into remote-enrich-check
smalyshev dd7dd79
Remove old hacks
smalyshev 31df078
Replace remote Enrich hack with proper handling of remote Enrich
smalyshev 8dde748
Don't stop for ANY enrich
smalyshev d053fe4
Add TopN handling
smalyshev 9b185e8
Merge branch 'main' into entich-remote-unhack
smalyshev 93c827d
Oops, forgot the file
smalyshev a78a2c8
fix multiple topNs
smalyshev ea421ca
fix tests
smalyshev e70043e
test fixes
smalyshev 9edcd72
Ban Limit + MvExpand before remote Enrich
smalyshev 7c6c9b1
Update docs/changelog/135051.yaml
smalyshev 3f2e2e9
spotless
smalyshev 3d909ce
Move check pre optimizer
smalyshev ddc5815
Merge branch 'remote-enrich-limit' into entich-remote-unhack
smalyshev 587ae4c
fix tests
smalyshev f9686e5
[CI] Update transport version definitions
30146a1
test fixes
smalyshev 8dc2101
[CI] Update transport version definitions
77acee7
Merge branch 'main' into entich-remote-unhack
smalyshev 346d17f
Update x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/…
smalyshev 54d3aec
fix merge
smalyshev 3d51a5c
test fixes
smalyshev f2e9fde
spotless
smalyshev f762627
Fix tests
smalyshev 9bbdb26
Cleanup
smalyshev 10581b8
Fix test
smalyshev 47694c4
[CI] Auto commit changes from spotless
0a7cc56
Add project handling
smalyshev 3c6e699
[CI] Update transport version definitions
6eb2468
Add two topN test
smalyshev 0c1ee72
Merge branch 'main' into entich-remote-unhack
smalyshev abc1a7d
Clean up plan/optimizer structure
smalyshev da237a2
Introduce CardinalityExpanding
smalyshev 809e528
Switch to CardinalityPreserving
smalyshev 605b0c8
Block multiple TopN handling as it's semantically unsound
smalyshev 6b7838e
Remove todo
smalyshev 810e795
[Build] Update checkstyle from 10.3 to 11.0.1
breskeby 0ae16c2
Merge branch 'pr/135381' into entich-remote-unhack
smalyshev 819760e
Remove exclusion
smalyshev 7baa484
Merge branch 'main' into entich-remote-unhack
smalyshev 1bd78e6
Add missing dependency verification
breskeby 0b70d07
Merge branch 'pr/135381' into entich-remote-unhack
smalyshev ec179e1
[Build] update eclipse formatter used by spotless
breskeby e1e4f21
Merge branch 'pr/135382' into entich-remote-unhack
smalyshev 62f72b1
spotless
smalyshev 3ab2bf7
Merge branch 'main' into entich-remote-unhack
smalyshev 15f9cbf
cleanup
smalyshev 616021d
Cleanups
smalyshev 255bce5
clean test
smalyshev c8a109b
moar tests
smalyshev 7b28e9f
oops typo
smalyshev 3af3540
Merge branch 'main' into entich-remote-unhack
smalyshev 00bc8b7
Merge branch 'main' into entich-remote-unhack
smalyshev 6df9352
Feedback, pass 1
smalyshev 3f58415
More feedback
smalyshev 8c0c305
Remove limit optimization - data node optimizer will take care of it
smalyshev 2145a40
moar tests
smalyshev 74c8a9d
avoid forbidden lore
smalyshev 69c2225
More tests
smalyshev e9160a5
TopN tests
smalyshev 9b40f1d
Merge branch 'main' into entich-remote-unhack
smalyshev 4c052ec
fix test
smalyshev 2c67a57
Refine CoordinatorOnly interface for rules
alex-spies File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
pr: 135051 | ||
summary: Ban Limit + `MvExpand` before remote Enrich | ||
area: ES|QL | ||
type: enhancement | ||
issues: [] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
initial_elasticsearch_8_18_6,8840008 | ||
initial_elasticsearch_8_18_8,8840010 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
initial_elasticsearch_8_19_3,8841067 | ||
initial_elasticsearch_8_19_5,8841069 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
initial_elasticsearch_9_0_6,9000015 | ||
initial_elasticsearch_9_0_8,9000017 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
initial_elasticsearch_9_1_4,9112007 | ||
initial_elasticsearch_9_1_5,9112008 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
ml_inference_endpoint_cache,9157000 | ||
inference_results_map_with_cluster_alias,9166000 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Hey, we have 3 mechanisms now that convey whether a rule should be run on the coordinator, the data node, or behave differently depending on global/local: this
boolean
parameter, theCoordinatorOnly
interface, and the methodLocalLogicalPlanOptimizer#localOperators
which does some special filtering on its own.I like the
CoordinatorOnly
interface, but'd prefer we settle on 1 mechanism if possible.Maybe rather than a
CoordinatorOnly
interface, we should have aDifferentOnDataNode
interface (yes, the name is horrible, I didn't have much time to think :D ) with a methodlocalVersion
(or so) that either gives the data node version of the optimizer rule (applies toCombineProjections
andPropagateEmptyRelation
) ornull
(applies to all rules markedCoordinatorOnly
in this PR).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made
LocalLogicalPlanOptimizer#localOperators
respect theCoordinatorOnly
marker, so that's the same thing now, except for rule that work on both sides, but differently (PropagateEmptyRelation
). I agree that it could be refined further but not sure the best way yet.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you don't mind, I'd like to push a small refactoring that consolidates the 3 methods for adjusting rules to the local optimizer into one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I pushed 2c67a57. Feel free to revert if you don't like it, though :)