Skip to content

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

Merged
merged 4 commits into from
Jun 30, 2025
Merged

Conversation

MichaelScofield
Copy link
Collaborator

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.

  • I have written the necessary rustdoc comments.
  • I have added the necessary unit tests and integration tests.
  • This PR requires documentation updates.
  • API changes are backward compatible.
  • Schema or data changes are backward compatible.

@MichaelScofield MichaelScofield requested review from waynexia and a team as code owners June 24, 2025 11:07
@github-actions github-actions bot added size/M docs-not-required This change does not impact docs. labels Jun 24, 2025
Copy link
Contributor

@Copilot Copilot AI left a 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.

@MichaelScofield MichaelScofield force-pushed the feat/define-extention-range branch 2 times, most recently from 4b8d518 to f32088b Compare June 24, 2025 11:59
@MichaelScofield MichaelScofield force-pushed the feat/define-extention-range branch from f32088b to cb49d11 Compare June 24, 2025 12:30
Signed-off-by: luofucong <[email protected]>
Signed-off-by: luofucong <[email protected]>
@MichaelScofield
Copy link
Collaborator Author

@evenyag PTAL

Signed-off-by: luofucong <[email protected]>
@MichaelScofield
Copy link
Collaborator Author

@evenyag PTAL

Copy link
Collaborator

@fengjiachun fengjiachun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@MichaelScofield MichaelScofield added this pull request to the merge queue Jun 30, 2025
Merged via the queue into main with commit a203909 Jun 30, 2025
41 checks passed
@MichaelScofield MichaelScofield deleted the feat/define-extention-range branch June 30, 2025 03:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs-not-required This change does not impact docs. size/M
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants