Add Statement, QueryExecution and QueryManager#845
Merged
penghuo merged 5 commits intoopensearch-project:feature/maximus-m1from Oct 28, 2022
Merged
Add Statement, QueryExecution and QueryManager#845penghuo merged 5 commits intoopensearch-project:feature/maximus-m1from
penghuo merged 5 commits intoopensearch-project:feature/maximus-m1from
Conversation
penghuo
commented
Sep 19, 2022
| Metrics.getInstance() | ||
| .getNumericalMetric(MetricName.PPL_FAILED_REQ_COUNT_CUS) | ||
| .increment(); | ||
| return channel -> |
Collaborator
Author
There was a problem hiding this comment.
remove the schedule logic. In OpenSearch, QueryManager will schedule the query in sql-worker thread.
Codecov Report❌ Patch coverage is
❌ Your project status has failed because the head coverage (94.92%) is below the target coverage (99.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## feature/maximus-m1 #845 +/- ##
========================================================
- Coverage 97.58% 94.92% -2.66%
- Complexity 3177 3203 +26
========================================================
Files 307 325 +18
Lines 7898 8612 +714
Branches 513 634 +121
========================================================
+ Hits 7707 8175 +468
- Misses 190 382 +192
- Partials 1 55 +54
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Signed-off-by: Peng Huo <penghuo@gmail.com>
16eb89e to
2080313
Compare
43 tasks
dai-chen
reviewed
Oct 28, 2022
core/src/main/java/org/opensearch/sql/ast/statement/Explain.java
Outdated
Show resolved
Hide resolved
core/src/main/java/org/opensearch/sql/executor/execution/AbstractPlan.java
Show resolved
Hide resolved
core/src/main/java/org/opensearch/sql/executor/DefaultQueryManager.java
Outdated
Show resolved
Hide resolved
opensearch/src/main/java/org/opensearch/sql/opensearch/executor/OpenSearchQueryManager.java
Show resolved
Hide resolved
Signed-off-by: Peng Huo <penghuo@gmail.com>
dai-chen
approved these changes
Oct 28, 2022
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
New abstraction
QueryManager is the high level interface of the core engine, Parser parse raw query as the Plan and sumitted to QueryManager.
Core engine define the interface of QueryManager. Each execution engine should provide the implementation of QueryManager which bind to execution enviroment.
QueryManager manage all the submitted plans and define the following interface
Parser parse raw query as Statement and create AbstractPlan. Each AbstractPlan decide how to execute the query in QueryManager.
QueryService is the low level interface of core engine, each Plan decide how to execute the query and use QueryService to analyze, plan, optimize and execute the query.
Change of existing logic
a. Parser will be executed in NIO thread.
b. QueryManager decide query execution strategy. e.g. OpenSearchQueryManager schedule the QueryExecution running in sql-worker thread pool.
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.