LFC
e64c31e59a
chore: upgrade DataFusion family ( #7558 )
...
* chore: upgrade DataFusion family
Signed-off-by: luofucong <luofc@foxmail.com >
* use main proto
Signed-off-by: luofucong <luofc@foxmail.com >
* fix ci
Signed-off-by: luofucong <luofc@foxmail.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
2026-01-14 14:02:31 +00:00
Weny Xu
567d3e66e9
feat: integrate repartition procedure into DdlManager ( #7548 )
...
* feat: add repartition procedure factory support to DdlManager
- Introduce RepartitionProcedureFactory trait for creating and registering
repartition procedures
- Implement DefaultRepartitionProcedureFactory for metasrv with full support
- Implement StandaloneRepartitionProcedureFactory for standalone (unsupported)
- Add procedure loader registration for RepartitionProcedure and
RepartitionGroupProcedure
- Add helper methods to TableMetadataAllocator for allocator access
- Add error types for repartition procedure operations
- Update DdlManager to accept and use RepartitionProcedureFactoryRef
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: integrate repartition procedure into DdlManager
- Add submit_repartition_task() to handle repartition from alter table
- Route Repartition operations in submit_alter_table_task() to repartition factory
- Refactor: rename submit_procedure() to execute_procedure_and_wait()
- Make all DDL operations wait for completion by default
- Add submit_procedure() for fire-and-forget submissions
- Add CreateRepartitionProcedure error type
- Add placeholder Repartition handling in grpc-expr (unsupported)
- Update greptime-proto dependency
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: implement ALTER TABLE REPARTITION procedure submission
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(repartition): handle central region in apply staging manifest
- Introduce ApplyStagingManifestInstructions struct to organize instructions
- Add special handling for central region when applying staging manifests
- Transition state from UpdateMetadata to RepartitionEnd after applying staging manifests
- Remove next_state() method in RepartitionStart and inline state transitions
- Improve logging and expression serialization in DDL statement executor
- Move repartition tests from standalone to distributed test suite
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update proto
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-01-09 08:37:21 +00:00
Weny Xu
f3e2d333e4
feat(repartition): implement region allocation for repartition procedure ( #7534 )
...
* refactor: rename WalOptionsAllocator to WalProvider
The name "WalOptionsAllocator" was misleading because:
- For RaftEngine variant, it doesn't actually allocate anything
- The actual allocation logic lives in KafkaTopicPool
"WalProvider" better describes its role as providing WAL options
based on the configured WAL backend (RaftEngine or Kafka).
Changes:
- Rename `WalOptionsAllocator` to `WalProvider`
- Rename `WalOptionsAllocatorRef` to `WalProviderRef`
- Rename `build_wal_options_allocator` to `build_wal_provider`
- Rename module `wal_options_allocator` to `wal_provider`
- Rename error types: `BuildWalOptionsAllocator` -> `BuildWalProvider`,
`StartWalOptionsAllocator` -> `StartWalProvider`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): extract allocator traits from TableMetadataAllocator
Refactor TableMetadataAllocator to use trait-based dependency injection
for better testability and separation of concerns.
Changes:
- Add `ResourceIdAllocator` trait to abstract ID allocation
- Add `WalOptionsAllocator` trait to abstract WAL options allocation
- Implement traits for `Sequence` and `WalProvider`
- Remove duplicate `allocate_region_wal_options` function
- Rename `table_id_sequence` to `table_id_allocator` for consistency
- Rename `TableIdSequenceHandler` to `TableIdAllocatorHandler`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(meta): add max_region_number tracking to PhysicalTableRouteValue
Add `max_region_number` field to track the highest region number ever
allocated for a table. This value only increases when regions are added
and never decreases when regions are dropped, ensuring unique region
numbers across the table's lifetime.
Changes:
- Add `max_region_number` field to `PhysicalTableRouteValue`
- Implement custom `Deserialize` for backward compatibility
- Update `update_region_routes` to maintain max_region_number
- Calculate max_region_number from region_routes in `new()`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: extract TableRouteAllocator trait from TableMetadataAllocator
- Add TableRouteAllocator trait for abstracting region route allocation
- Implement blanket impl for all PeerAllocator types
- Add PeerAllocator impl for Arc<T> to support trait object delegation
- Update TableMetadataAllocator to use TableRouteAllocatorRef
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: rename TableRouteAllocator to RegionRoutesAllocator
- Rename table_route.rs to region_routes.rs
- Rename TableRouteAllocator trait to RegionRoutesAllocator
- Rename wal_option.rs to wal_options.rs for consistency
- Update TableMetadataAllocator to use new naming
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(meta-srv): implement region allocation for repartition procedure
This commit implements the region allocation phase of the repartition procedure,
which handles allocating new regions when a table needs to be split into more partitions.
Key changes:
- Refactor `RegionRoutesAllocator::allocate` to accept `(region_number, partition_expr)` tuples
for more flexible region number assignment
- Simplify `AllocationPlanEntry` by removing `regions_to_allocate` and `regions_to_deallocate`
fields (now derived from source/target counts)
- Add `convert_allocation_plan_to_repartition_plan` function to handle allocation, equal,
and deallocation cases
- Fix `RepartitionPlanEntry::allocate_regions()` to return target regions (was incorrectly
returning source regions)
- Implement complete `AllocateRegion` state with:
- Region route allocation via `RegionRoutesAllocator`
- WAL options allocation via `WalOptionsAllocator`
- Operating region registration for concurrency control
- Region creation on datanodes via `CreateTableExecutor`
- Table route metadata update
- Add `TableRouteValue::max_region_number()` helper method
- Add comprehensive unit tests for plan conversion and allocation logic
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-01-08 11:03:58 +00:00
shuiyisong
8e2c2e6e9a
chore: add information extension to the plugins in frontend ( #7542 )
...
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-01-08 08:02:56 +00:00
jeremyhi
59867cd5b6
fix: remove log_env_flags ( #7529 )
...
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-01-07 08:08:35 +00:00
jeremyhi
898e84898c
feat!: make heartbeat config only in metasrv ( #7510 )
...
* feat: make heartbeat config only in metasrv
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* feat: refine config doc
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: make the heartbeat setup simple
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: by comment
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: revert config
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: proto update
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: fix sqlness wrong cfg
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-06 09:43:36 +00:00
Weny Xu
9343da7fe8
feat(meta-srv): fallback to non-TLS connection when etcd TLS prefer mode fail ( #7507 )
...
* feat(meta-srv): fallback to non-TLS connection when etcd TLS prefer mode fail
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore(ci): set timeout for deploy cluster
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: simplify etcd TLS prefer mode handling
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-12-31 10:03:34 +00:00
dennis zhuang
e4b5ef275f
feat: impl vector index building ( #7468 )
...
* feat: impl vector index building
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat: supports flat format
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* ci: add vector_index feature to test
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: apply suggestions
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: apply suggestions from copilot
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2025-12-30 03:38:51 +00:00
LFC
625fdd09ea
refactor!: remove not working metasrv cli option ( #7446 )
...
Signed-off-by: luofucong <luofc@foxmail.com >
2025-12-23 06:55:17 +00:00
Weny Xu
4d66bd96b8
feat: make distributed time constants and client timeouts configurable ( #7433 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-12-19 02:23:20 +00:00
fys
0bc5a305be
chore: add wait_initialized method for frontend client ( #7414 )
...
* chore: add wait_initialized method for frontend client
* fix: some
* fix: cargo fmt
* add comment
* add unit test
* rename
* fix: cargo check
* fix: cr by copilot
2025-12-17 08:13:36 +00:00
shuiyisong
64e74916b9
fix: TLS option validate and merge ( #7401 )
...
* chore: unify gRPC server tls behaviour
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: test
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add validate and merge tls
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: remove mut in func sig and add back test
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: test
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2025-12-15 02:53:21 +00:00
jeremyhi
baffed8c6a
feat: mem manager on compaction ( #7305 )
...
* feat: mem manager on compaction
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: by copilot review comment
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: experimental_
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: refine estimate_compaction_bytes
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: make them into config example
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: by copilot comment
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* Update src/mito2/src/compaction.rs
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
* fix: dedup the regions waiting
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: by comment
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: minor change
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: add AdditionalMemoryGuard for the running compaction task
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* refactor: do OnExhaustedPolicy before running task
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* refactor: use OwnedSemaphorePermit to impl guard
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: add early_release_partial method to release a portion of memory
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: 0 bytes make request_additional unlimited
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: fail-fast on acquire
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2025-12-12 06:49:58 +00:00
discord9
f06a64ff90
feat: mark index outdated ( #7383 )
...
* feat: mark index outdated
Signed-off-by: discord9 <discord9@163.com >
* refactor: move IndexVerwsion to store-api
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
* fix: condition for add files
Signed-off-by: discord9 <discord9@163.com >
* cleanup
Signed-off-by: discord9 <discord9@163.com >
* refactor(sst): extract index version check into method
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-12-11 12:08:45 +00:00
LFC
f1abe5d215
feat: suspend frontend and datanode ( #7370 )
...
Signed-off-by: luofucong <luofc@foxmail.com >
2025-12-10 12:18:24 +00:00
discord9
9197e818ec
refactor: use versioned index for index file ( #7309 )
...
* refactor: use versioned index for index file
Signed-off-by: discord9 <discord9@163.com >
* fix: sst entry table
Signed-off-by: discord9 <discord9@163.com >
* update sqlness
Signed-off-by: discord9 <discord9@163.com >
* chore: unit type
Signed-off-by: discord9 <discord9@163.com >
* fix: missing version
Signed-off-by: discord9 <discord9@163.com >
* more fix build index
Signed-off-by: discord9 <discord9@163.com >
* fix: use proper index id
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
* test: update
Signed-off-by: discord9 <discord9@163.com >
* clippy
Signed-off-by: discord9 <discord9@163.com >
* test: test_list_ssts fixed
Signed-off-by: discord9 <discord9@163.com >
* test: fix test
Signed-off-by: discord9 <discord9@163.com >
* feat: stuff
Signed-off-by: discord9 <discord9@163.com >
* fix: clean temp index file on abort&delete all index version when delete file
Signed-off-by: discord9 <discord9@163.com >
* docs: explain
Signed-off-by: discord9 <discord9@163.com >
* fix: actually clean up tmp dir
Signed-off-by: discord9 <discord9@163.com >
* clippy
Signed-off-by: discord9 <discord9@163.com >
* clean tmp dir only when write cache enabled
Signed-off-by: discord9 <discord9@163.com >
* refactor: add version to index cache
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
* test: update size
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-12-09 07:31:12 +00:00
Weny Xu
cc99f9d65b
fix: configure HTTP/2 keep-alive for heartbeat client to detect network failures faster ( #7344 )
...
* fix: configure HTTP/2 keep-alive for heartbeat client to detect network failures faster
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-12-04 08:07:45 +00:00
fys
e107030d85
chore: add more fields to DdlManagerConfigureContext ( #7310 )
...
* feat: add more context for configurator
* move the flow grpc configure context to plugins crate
* move context to plugins crate
* add more fields
* fix: cargo check
* refactor: some
* refactor some
* adjust context
* fix: cargo check
* fix: ut
2025-12-01 08:03:12 +00:00
fys
020477994b
feat: add some configurable points ( #7227 )
...
* feat: enhance extension
* fix: cr
* move information schema table factories trait to standalone
* fix: self cr
* remove extension factory
* refactor
* remove extension filed from greptime options struct
* refactor
* minor refactor
* fix: cargo check
* fix: clippy
* fix: license check
* feat: enhance grpc and http configurator in servers crate
* grpc builder configurator
* remove unused file
* complete the remaining expansion points.
* fix: self-cr
* rename
* fix: typo
2025-11-27 09:21:46 +00:00
Sicong Hu
2783a5218e
feat: implement manual type for async index build ( #7104 )
...
* feat: prepare for index_build command
Signed-off-by: SNC123 <sinhco@outlook.com >
* feat: impl manual index build
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: clippy and fmt
Signed-off-by: SNC123 <sinhco@outlook.com >
* test: add idempotency check for manual build
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: apply suggestions
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: update proto
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: apply suggestions
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: fmt
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: update proto souce to greptimedb
Signed-off-by: SNC123 <sinhco@outlook.com >
* fix: cargo.lock
Signed-off-by: SNC123 <sinhco@outlook.com >
---------
Signed-off-by: SNC123 <sinhco@outlook.com >
2025-11-25 15:21:30 +00:00
WaterWhisperer
de9ae6066f
refactor: remove export_metrics and related configuration ( #7236 )
...
Signed-off-by: WaterWhisperer <waterwhisperer24@qq.com >
2025-11-17 02:32:22 +00:00
shuiyisong
e7928aaeee
chore: add tls-watch option in cmd ( #7226 )
...
* chore: add tls-watch cmd option
* chore: add watch tls option to standalone and fe cmd
* chore: fix clippy
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: address CR comment
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: address CR issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2025-11-14 09:58:52 +00:00
jeremyhi
c7fded29ee
feat: query mem limiter ( #7078 )
...
* feat: query mem limiter
* feat: config docs
* feat: frontend query limit config
* fix: unused imports
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: add metrics for query memory tracker
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: right postion for tracker
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: avoid race condition
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: soft and hard limit
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: docs
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: when soft_limit == 0
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: upgrade limit algorithm
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: remove batch window
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: batch mem size
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: refine limit algorithm
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: get sys mem
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: minor change
* feat: up tracker to the top stream
* feat: estimated_size for batch
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: minor refactor
* feat: scan_memory_limit connect to max_concurrent_queries
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: make callback clearly
* feat: add unlimted enum
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: by review comment
* chore: comment on recursion_limit
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: refactor and put permit into RegionScanExec
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: multiple lazy static blocks
* chore: minor change
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2025-11-11 07:47:55 +00:00
Weny Xu
47937961f6
feat(metric)!: enable sparse primary key encoding by default ( #7195 )
...
* feat(metric): enable sparse primary key encoding by default
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update config.md
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix sqlness
Signed-off-by: WenyXu <wenymedia@gmail.com >
* Update src/mito-codec/src/key_values.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* feat: only allow setting primary key encoding for metric engine
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: support deleting rows from logical region instead of physical region
This keeps the behavior the same as put. It's easier to support sparse
encoding for deleting logical regions. Now the metric engine doesn't
support delete rows from physical region directly.
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: update sqlness
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: remove unused error
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
Signed-off-by: evenyag <realevenyag@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2025-11-11 06:33:51 +00:00
Sicong Hu
30894d7599
feat(mito): Optimize async index building with priority-based batching ( #7034 )
...
* feat: add priority-based batching to IndexBuildScheduler
Signed-off-by: SNC123 <sinhco@outlook.com >
* fix: clean old puffin-related cache
Signed-off-by: SNC123 <sinhco@outlook.com >
* test: add test for IndexBuildScheduler
Signed-off-by: SNC123 <sinhco@outlook.com >
* feat: different index file id for read and async write
Signed-off-by: SNC123 <sinhco@outlook.com >
* feat: different index file id for delete
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: clippy
Signed-off-by: SNC123 <sinhco@outlook.com >
* fix: apply suggestions
Signed-off-by: SNC123 <sinhco@outlook.com >
* fix: apply comments
Signed-off-by: SNC123 <sinhco@outlook.com >
* combine files and index files
Signed-off-by: SNC123 <sinhco@outlook.com >
* feat: add index_file_id into ManifestSstEntry
Signed-off-by: SNC123 <sinhco@outlook.com >
* Update src/mito2/src/gc.rs
Signed-off-by: SNC123 <sinhco@outlook.com >
* resolve conflicts
Signed-off-by: SNC123 <sinhco@outlook.com >
* fix: sqlness
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: fmt
Signed-off-by: SNC123 <sinhco@outlook.com >
---------
Signed-off-by: SNC123 <sinhco@outlook.com >
2025-10-31 02:13:17 +00:00
Weny Xu
6efffa427d
fix: missing flamegraph feature in pprof dependency ( #7158 )
...
fix: fix pprof deps
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-10-29 11:41:21 +00:00
Lei, HUANG
f0afd675e3
feat: objbench sub command for datanode ( #7114 )
...
* feat/objbench-subcmd:
### Add Object Storage Benchmark Tool and Update Dependencies
- **`Cargo.lock` & `Cargo.toml`**: Added dependencies for `colored`, `parquet`, and `pprof` to support new features.
- **`datanode.rs`**: Introduced `ObjbenchCommand` for benchmarking object storage, including command-line options for configuration and execution. Added `StorageConfig` and `StorageConfigWrapper` for storage engine configuration.
- **`datanode.rs`**: Implemented a stub for `build_object_store` function to initialize object storage.
These changes introduce a new subcommand for object storage benchmarking and update dependencies to support additional functionality.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* init
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: code style and clippy
* feat/objbench-subcmd:
Improve error handling in `objbench.rs`
- Enhanced error handling in `parse_config` and `parse_file_dir_components` functions by replacing `unwrap` with `OptionExt` and `context` for better error messages.
- Updated `build_access_layer_simple` and `build_cache_manager` functions to use `map_err` for more descriptive error handling.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* chore: rebase main
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2025-10-29 05:26:29 +00:00
shuiyisong
a20ac4f9e5
feat: prefix option for timestamp index and value column ( #7125 )
...
* refactor: use GREPTIME_TIMESTAMP const
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* feat: add config for default ts col name
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* refactor: replace GREPTIME_TIMESTAMP with function get
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: update config doc
* fix: test
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: remove opts on flownode and metasrv
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add validation for ts column name
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: use get_or_init to avoid test error
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: fmt
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: update docs
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: using empty string to disable prefix
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: update comment
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: address CR issues
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2025-10-27 08:00:03 +00:00
zyy17
a0e6bcbeb3
feat: add cpu_usage_millicores and memory_usage_bytes in information_schema.cluster_info table. ( #7051 )
...
* refactor: add `hostname` in cluster_info table
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: update information schema result
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* feat: enable zstd for bulk memtable encoded parts (#7045 )
feat: enable zstd in bulk memtable
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: add `get_total_cpu_millicores()` / `get_total_cpu_cores()` / `get_total_memory_bytes()` / `get_total_memory_readable()` in common-stat
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* feat: add `cpu_usage_millicores` and `memory_usage_bytes` in `information_schema.cluster_info` table
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* fix: compile warning and integration test failed
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* fix: integration test failed
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* refactor: add `ResourceStat`
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* refactor: apply code review comments
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: update greptime-proto
Signed-off-by: zyy17 <zyylsxm@gmail.com >
---------
Signed-off-by: zyy17 <zyylsxm@gmail.com >
Signed-off-by: evenyag <realevenyag@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2025-10-24 03:12:45 +00:00
Weny Xu
3119464ff9
feat: introduce the Noop WAL provider for datanode ( #7105 )
...
* feat: introduce noop log store
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update config example
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: add noop wal tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-10-20 06:13:27 +00:00
fys
20b5b9bee4
chore: remove unused deps ( #7108 )
2025-10-17 11:53:19 +00:00
zyy17
cf1b8392af
refactor!: unify the API of getting total cpu and memory ( #7049 )
...
* refactor: add `get_total_cpu_millicores()` / `get_total_cpu_cores()` / `get_total_memory_bytes()` / `get_total_memory_readable()` in common-stat
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* tests: update sqlness test cases
Signed-off-by: zyy17 <zyylsxm@gmail.com >
---------
Signed-off-by: zyy17 <zyylsxm@gmail.com >
2025-10-16 12:41:34 +00:00
shuiyisong
a027b824a2
chore: add information extension to the plugins in standalone ( #7079 )
...
chore: add information extension to the plugins
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2025-10-14 02:30:42 +00:00
LFC
8fe17d43d5
chore: update rust to nightly 2025-10-01 ( #7069 )
...
* chore: update rust to nightly 2025-10-01
Signed-off-by: luofucong <luofc@foxmail.com >
* chore: nix update
---------
Signed-off-by: luofucong <luofc@foxmail.com >
Co-authored-by: Ning Sun <sunning@greptime.com >
2025-10-11 07:30:52 +00:00
zyy17
d777e8c52f
refactor: add cgroup metrics collector ( #7038 )
...
Signed-off-by: zyy17 <zyylsxm@gmail.com >
2025-09-30 02:26:02 +00:00
LFC
aa05b3b993
feat: add max_connection_age config to grpc server ( #7031 )
...
* feat: add `max_connection_age` config to grpc server
Signed-off-by: luofucong <luofc@foxmail.com >
* Apply suggestions from code review
Co-authored-by: Yingwen <realevenyag@gmail.com >
* fix ci
Signed-off-by: luofucong <luofc@foxmail.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2025-09-29 07:32:43 +00:00
zyy17
0717773f62
refactor!: add enable_read_cache config to support disable read cache explicitly ( #6834 )
...
* refactor: add `enable_read_cache` config to support disable read cache explicitly
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* refactor: if `cache_path` is empty and `enable_read_cache` is true, set the default cache dir
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* refactor: remove the unessary Option type for `ObjectStorageCacheConfig`
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* refactor: sanitize cache config in `DatanodeOptions` and `StandaloneOptions`
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: code review comment
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: apply code review comments
Signed-off-by: zyy17 <zyylsxm@gmail.com >
---------
Signed-off-by: zyy17 <zyylsxm@gmail.com >
2025-09-26 09:44:12 +00:00
Weny Xu
0c038f755f
refactor(cli): refactor object storage config ( #7009 )
...
* refactor: refactor object storage config
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: public common config
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-09-24 06:50:47 +00:00
Ruihang Xia
f65dcd12cc
feat: refine failure detector ( #7005 )
...
* feat: refine failure detector
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix format
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* revert back default value
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* revert change of test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-09-24 01:43:22 +00:00
Weny Xu
b3d413258d
feat: extract standalone functionality and introduce plugin-based router configuration ( #7002 )
...
* feat: extract standalone functionality and introduce plugin-based router configuration
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: ensure dump file does not exist
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: introduce `External` error
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-09-22 11:21:04 +00:00
Zhenchi
264d05d20e
feat: add InformationExtension.inspect_datanode for datanode inspection ( #6921 )
...
* feat: add InformationExtension.inspect_datanode for datanode inspection
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* aggregate results from all datanodes
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* fix fmt
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* fix unreleased mito engine
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
---------
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
2025-09-09 03:29:04 +00:00
Weny Xu
16febbd4c2
feat: add CPU, memory and node status info to cluster_info ( #6897 )
...
* feat: add CPU and memory info to `cluster_info`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: add `node_status` to `cluster_info` table
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: update sqlness
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update proto
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-09-08 08:59:34 +00:00
Ruihang Xia
c9377e7c5a
build: bump rust edition to 2024 ( #6920 )
...
* bump edition
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* gen keyword
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* lifetime and env var
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* one more gen fix
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* lifetime of temporaries in tail expressions
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format again
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clippy nested if
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clippy let and return
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-09-08 02:37:18 +00:00
Weny Xu
658d07bfc8
feat: add written_bytes_since_open column to region_statistics table ( #6904 )
...
* feat: add `write_bytes` column to `region_statistics` table
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update comments
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: rename `write_bytes` to `written_bytes`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: rename `written_bytes` to `written_bytes_since_open`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-09-05 07:27:30 +00:00
Logic
cbcfdf9d65
feat: add optional schema for Postgres metadata tables ( #6764 )
...
* feat(meta): add optional schema for Postgres metadata tables
- Add `schema` option to specify a custom schema for metadata tables
- Update `PgStore` and `PgElection` to support optional schema
- Modify SQL templates to use schema when provided
- Add tests for schema support in Postgres backend
Signed-off-by: Logic <zqr10159@dromara.org >
* refactor(meta): remove unused `create_schema_statement` and simplify `PgSqlTemplateFactory`
- Remove `create_schema_statement` from `PgSqlTemplateSet` struct
- Simplify `PgSqlTemplateFactory` by removing `new` method and merging it with `with_schema`
- Update related tests to reflect these changes
Signed-off-by: Logic <zqr10159@dromara.org >
* refactor(meta-srv): remove unused imports
- Remove unused import of BoxedError from common_error::ext- Remove unused import of TlsOption from servers::tls
Signed-off-by: Logic <zqr10159@dromara.org >
* build(meta): update Postgres version and add error handling imports
- Update Postgres version to 17 in docker-compose.yml
- Add BoxedError import for error handling in meta-srv
Signed-off-by: Logic <zqr10159@dromara.org >
* feat(postgres): add support for optional schema in PgElection and related components
Signed-off-by: Logic <zqr10159@dromara.org >
* feat(postgres): add support for optional schema in PgElection and related components
Signed-off-by: Logic <zqr10159@dromara.org >
* fix(develop): update Postgres schema commands to specify host
Signed-off-by: Logic <zqr10159@dromara.org >
* refactor(postgres): simplify plugin options handling and update SQL examples
Signed-off-by: Logic <zqr10159@dromara.org >
* refactor(postgres): simplify plugin options handling and update SQL examples
Signed-off-by: Logic <zqr10159@dromara.org >
* fix(postgres): update meta_election_lock_id description for optional schema support
Signed-off-by: Logic <zqr10159@dromara.org >
* fix(postgres): add health check and fallback wait for Postgres in CI setup
* fix(postgres): update Docker setup for Postgres and add support for Postgres 15
* fix(postgres): remove redundant Postgres setup step in CI configuration
* Update tests-integration/fixtures/postgres/init.sql
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* Update .github/workflows/develop.yml
* Update tests-integration/fixtures/docker-compose.yml
* Update src/common/meta/src/kv_backend/rds/postgres.rs
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* Update src/common/meta/src/kv_backend/rds/postgres.rs
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* Update src/common/meta/src/kv_backend/rds/postgres.rs
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* Update src/common/meta/src/kv_backend/rds/postgres.rs
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* fix: Refactor PostgreSQL backend to support optional schema in PgStore and related SQL templates
* feat: Update PostgreSQL configuration and add PG15 specific integration tests
* feat: Update PostgreSQL configuration and add PG15 specific integration tests
* refactor(postgres): update test schemas from 'greptime_schema' to 'test_schema'
* Update .github/workflows/develop.yml
* refactor: minor factor
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit test
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: Logic <zqr10159@dromara.org >
Signed-off-by: WenyXu <wenymedia@gmail.com >
Co-authored-by: Weny Xu <wenymedia@gmail.com >
2025-08-28 09:24:14 +00:00
discord9
5ef4dd1743
docs: add internal grpc ports ( #6815 )
...
* docs: add internal grpc ports
Signed-off-by: discord9 <discord9@163.com >
* fix: update example toml
Signed-off-by: discord9 <discord9@163.com >
* fix: grpc option use default for missing field
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-08-27 08:20:27 +00:00
Arshdeep
8894cb5406
feat: resolve unused dependencies with cargo-udeps ( #6578 ) ( #6619 )
...
* feat:resolve unused dependencies with cargo-udeps (#6578 )
Signed-off-by: Arshdeep54 <balarsh535@gmail.com >
* Apply suggestion from @zyy17
Co-authored-by: zyy17 <zyylsxm@gmail.com >
* Apply suggestion from @zyy17
Co-authored-by: zyy17 <zyylsxm@gmail.com >
---------
Signed-off-by: Arshdeep54 <balarsh535@gmail.com >
Co-authored-by: Ning Sun <classicning@gmail.com >
Co-authored-by: zyy17 <zyylsxm@gmail.com >
2025-08-26 10:22:53 +00:00
Ning Sun
83a65a81c0
feat: add cli option for internal grpc ( #6806 )
2025-08-25 02:12:53 +00:00
zyy17
d6d5dad758
chore: revert #6763 ( #6800 )
...
Revert "refactor: change plugin option type from `&[PluginOptions]` to `Optio…"
This reverts commit 5420d6f7fb .
2025-08-23 06:57:25 +00:00
Weny Xu
896d72191e
feat: introduce PersistStatsHandler ( #6777 )
...
* feat: add `Inserter` trait and impl
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: import items
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: introduce `PersistStatsHandler`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: disable persisting stats in sqlness
Signed-off-by: WenyXu <wenymedia@gmail.com >
* reset channel manager
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: avoid to collect
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: remove insert options
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: use `write_bytes` instead of `write_bytes_per_sec`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: compute write bytes delta
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: add unit tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* Update src/meta-srv/src/handler/persist_stats_handler.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2025-08-21 09:34:58 +00:00