You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains 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
Add ES nodes_discovery for automatic node discovery.
When nodes_discovery is enabled, Doris will automatic detect available nodes for build scan range.
And when it is disabled, Doris will use the seeds host only, same as before.
Problem Summary:
Release note
None
Check List (For Author)
Test
Regression test
Unit Test
Manual test (add detailed scripts or steps below)
No need to test or manual test. Explain why:
This is a refactor/code format and no logic has been changed.
This pull request introduces several enhancements and new features related to Elasticsearch (ES) integration in the project. The most significant changes include the addition of EsNodeDiscovery for automatic node detection, updates to EsExternalCatalog to manage available nodes, and modifications to the CatalogMgr and related classes to support these new features.
Enhancements to Elasticsearch Integration:
Automatic Node Discovery:
Added EsNodeDiscovery class for periodic detection of available ES nodes. (fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsNodeDiscovery.java)
Integrated EsNodeDiscovery with InternalCatalog to manage ES node information. (fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java, fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java) [1][2]
Catalog Management:
Updated CatalogMgr to register and deregister ES catalogs with EsNodeDiscovery. (fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java) [1][2]
Elasticsearch Catalog Enhancements:
Modified EsExternalCatalog to track and update available nodes information. (fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsExternalCatalog.java) [1][2]
Enhanced EsRestClient to fetch a list of HTTP nodes. (fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsRestClient.java)
ES Table and Search Context:
Updated EsTable to include available nodes information. (fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java)
Modified SearchContext to utilize available nodes information during query execution. (fe/fe-core/src/main/java/org/apache/doris/datasource/es/SearchContext.java, fe/fe-core/src/main/java/org/apache/doris/datasource/es/PartitionPhase.java) [1][2]
Dependency Updates:
Test Dependency:
Added mockito-core as a test dependency in the pom.xml file. (fe/fe-core/pom.xml)
Code Quality:
Checkstyle Suppression:
Added suppression for static import checks in EsExternalCatalogTest. (fe/check/checkstyle/suppressions.xml)
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.
What problem does this PR solve?
Add ES nodes_discovery for automatic node discovery.
When nodes_discovery is enabled, Doris will automatic detect available nodes for build scan range.
And when it is disabled, Doris will use the seeds host only, same as before.
Problem Summary:
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)