-
Notifications
You must be signed in to change notification settings - Fork 389
feat: extension range definition #6386
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
Conversation
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.
Pull Request Overview
This PR introduces the "extension range" enterprise feature by adding new traits, hook points, and conditional logic to support extension range scanning and error handling adjustments.
- Adds enterprise-specific extension range traits and integration across scanning, engine, and datanode modules.
- Refactors error handling to use a unified Unexpected error type while conditionally enabling enterprise features.
- Introduces async changes and minor refactoring across scan and range modules.
Reviewed Changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
src/mito2/src/worker/handle_catchup.rs | Updated error handling for replay entries using UnexpectedSnafu. |
src/mito2/src/test_util.rs | Added enterprise-specific conditional parameter. |
src/mito2/src/request.rs | Changed error construction for impure default values. |
src/mito2/src/read/unordered_scan.rs | Introduced async helper to build scan streams for different range indices. |
src/mito2/src/read/series_scan.rs | Adjusted async method chaining for enterprise feature consistency. |
src/mito2/src/read/seq_scan.rs | Updated build_sources to an async function with improved error handling. |
src/mito2/src/read/scan_util.rs | Refactored async file scan flow; potential issue in metric merging invocation. |
src/mito2/src/read/scan_region.rs | Integrated extension range provider logic into the scan region flow. |
src/mito2/src/read/range.rs | Added enterprise extension range pushes (noted duplicate calls). |
src/mito2/src/read/plain_batch.rs | Unified error handling for default value issues. |
src/mito2/src/lib.rs | Introduced the new extension module. |
src/mito2/src/extension.rs | Added enterprise extension range traits and provider definitions. |
src/mito2/src/error.rs | Refactored legacy error variants to a unified Unexpected type and added enterprise errors. |
src/mito2/src/engine/catchup_test.rs | Updated test assertions for error type adjustments. |
src/mito2/src/engine.rs | Integrated extension range provider factory in engine construction and scanning. |
src/mito2/Cargo.toml | Added enterprise feature flag dependency. |
src/datanode/src/datanode.rs | Expanded datanode builder to include enterprise extension range support. |
Cargo.toml | Added dependency on cfg-if. |
4b8d518
to
f32088b
Compare
Signed-off-by: luofucong <[email protected]>
f32088b
to
cb49d11
Compare
Signed-off-by: luofucong <[email protected]>
Signed-off-by: luofucong <[email protected]>
@evenyag PTAL |
Signed-off-by: luofucong <[email protected]>
@evenyag PTAL |
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.
LGTM
I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
What's changed and what's your intention?
Add our enterprise feature "extension range" traits and hook points etc.
PR Checklist
Please convert it to a draft if some of the following conditions are not met.