Weny Xu
15fc148e40
refactor: clarify region flush reasons ( #8146 )
...
* refactor: clarify region flush reasons
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-05-21 07:35:46 +00:00
LFC
a6dc55a71c
feat: show sst primary key range in information_schema ( #8137 )
...
Signed-off-by: luofucong <luofc@foxmail.com >
2026-05-20 12:50:18 +00:00
Yingwen
7840aa1bb4
refactor(mito2)!: remove PartitionTreeMemtable ( #8080 )
...
* feat: switch partition tree to bulk
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: keep partition tree memtable for migration test
Restore PartitionTreeMemtable construction when memtable.type=partition_tree
is explicit, and move the sparse-encoding bulk override into the default
(no explicit memtable.type) arm so phase 2's memtable.type=bulk wins on
reopen. Rewrite test_reopen_time_series_sparse_memtable_with_bulk to use a
metric-engine-shaped schema and sparse-encoded rows with WriteHint::Sparse,
so the test actually exercises a PartitionTreeMemtable in phase 1 and
verifies WAL replay into the new BulkMemtable on reopen without flushing.
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: drop partition tree memtable from runtime
Re-apply the unconditional sparse-encoding override in
`MemtableBuilderProvider::builder_for_options` and route the
`MemtableOptions::PartitionTree` arm to `BulkMemtable` with a deprecation
warning. After this change, `PartitionTreeMemtableBuilder` is no longer
reachable from the engine runtime; benchmarks still reference the type.
Remove `test_reopen_time_series_sparse_memtable_with_bulk` and the
`put_sparse_rows` helper added in the previous commit — that test only
existed to validate the PartitionTree -> Bulk reopen migration and is
unnecessary now that the override is in place.
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor(mito2): move timestamp_array_to_i64_slice into read module
Relocate the timestamp_array_to_i64_slice helper from
memtable/partition_tree/data.rs to the read module so that the read
path no longer depends on the partition_tree internals. All call sites
(both inside and outside the partition_tree module) now import from
crate::read.
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor(mito2): use TimeSeriesMemtableBuilder in time_partition tests
The time_partition tests use the memtable builder purely as a generic
backend for the TimePartitions write/scan paths; nothing in them is
specific to the partition-tree memtable. Switch the seven affected
tests to TimeSeriesMemtableBuilder so the tests no longer depend on
PartitionTreeMemtableBuilder.
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore(mito2): delete PartitionTreeMemtable implementation
The runtime already falls back to BulkMemtable for the PartitionTree
variant. Drop the now-unreachable implementation, its metrics, the
partition_tree benchmarks, the metric-engine Unsupported fallback in
bulk_insert.rs, and the test helpers that only existed for the deleted
module.
MemtableOptions::PartitionTree, its parsing, the runtime fallback, the
store-api MEMTABLE_PARTITION_TREE_* constants, and the SQL fixtures
remain so existing region options keep round-tripping.
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor(mito-codec): drop skip_partition_column parameter
PartitionTreeMemtable was the only caller passing
skip_partition_column=true; every other caller passes false. Now that
the partition_tree module is gone, the parameter is uniformly false
and the guard branch is dead. Drop the parameter from the trait method
and both impls, remove the guard and the is_partition_column helper,
and update the four remaining call sites in mito2 plus the bench.
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore(mito2): remove unused MemtableConfig enum
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fmt code
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: remove unused variant
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: update test_config_api
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: remove unused memtable test helpers
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: address review comment
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: support bulk memtable options
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: sanitize config
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: remove partition tree options from region options
Move primary_key_encoding to the top level
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: make ssts test datetime replaced text stable
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: update sqlness result
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: validate_enum_options consider bulk memtable
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: pass region id when parsing region options
Replace the `TryFrom<&HashMap>` impl for `RegionOptions` with
`try_from_options(region_id, options_map)` so the legacy partition_tree
fallback can log the affected region. The fallback now also overrides
the SST format to flat in addition to clearing the memtable type.
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: align sst_format with bulk memtable on parse and open
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-05-15 11:49:27 +00:00
discord9
923c4227a3
feat: remote dyn filter basics ( #7979 )
...
* feat: dyn filter update abi
Signed-off-by: discord9 <discord9@163.com >
* feat: add remote dyn filter region rpc scaffolding
Signed-off-by: discord9 <discord9@163.com >
* feat: query id
Signed-off-by: discord9 <discord9@163.com >
* fix: prevent spoof
Signed-off-by: discord9 <discord9@163.com >
* fix: more proofing
Signed-off-by: discord9 <discord9@163.com >
* feat: make payload base64
Signed-off-by: discord9 <discord9@163.com >
* chore
Signed-off-by: discord9 <discord9@163.com >
* update
Signed-off-by: discord9 <discord9@163.com >
* chore: resolve conflict
Signed-off-by: discord9 <discord9@163.com >
* chore: update to main
Signed-off-by: discord9 <discord9@163.com >
* fix: add back defensive check
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-05-14 04:05:56 +00:00
LFC
7a285c2890
feat: concretize json type from query ( #8081 )
...
* feat: concretize json type from query
Signed-off-by: luofucong <luofc@foxmail.com >
* resolve PR comments
Signed-off-by: luofucong <luofc@foxmail.com >
* add more tests
Signed-off-by: luofucong <luofc@foxmail.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
2026-05-09 07:27:40 +00:00
QuakeWang
45e990b7f3
refactor: propagate flush reasons through FlushRegions path ( #8051 )
...
* feat: propagate flush reasons through FlushRegions path
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
* refactor: address flush reason review feedback
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
* refactor: keep flush instruction helper name
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
---------
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
2026-05-01 02:28:55 +00:00
fys
c90e4147de
refactor: introduce the ProjectInput structure ( #7908 )
...
* refactor: introduce the ProjectInput structure
* remove unused import
* fix: cr
* fix: cr
* fix: code review
* add more unit test
* avoid clone of input.projection
2026-04-14 09:29:33 +00:00
Weny Xu
57f1921253
feat: propagate staging leader through lease and heartbeat ( #7950 )
...
* feat(mito): expose staging leader role state
* fix(region): clear staging metadata on leader exit
* feat: propagate staging leader role through heartbeat and metasrv
* chore: update comments
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(region): unify staging exit role transitions
* chore: update proto
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-04-13 09:04:02 +00:00
Yingwen
2af59ed386
feat: always use flat scan path for both format ( #7901 )
...
* feat: remove primary_key format scan path
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: remove flat format flag
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: remove CompatReader tests
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: show whether the format is flat in explain
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: stable series scan result
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-04-02 07:53:33 +00:00
Ning Sun
e14404c677
chore: update rust toolchain to 2026-03-21 ( #7849 )
...
* chore: update rust toolchain to 2026-03-21
* chore: new format
* fix: lint
* chore: resolve lint issues
* chore: remove as_millis_f64
* chore: deps up
2026-03-30 12:13:14 +00:00
discord9
d7bc5ad16b
feat: add incremental read context and scan boundaries ( #7848 )
...
* feat: add incremental read context and scan boundaries
Signed-off-by: discord9 <discord9@163.com >
* chore: per review
Signed-off-by: discord9 <discord9@163.com >
* docs: explain field
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-03-26 07:00:22 +00:00
jeremyhi
8058ce7cf2
refactor: simplify scan memory tracking ( #7827 )
...
* refactor: simplify scan memory tracking
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: make confg-docs
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: by codex review comment
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* feat: track_with_policy
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: minor change
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: mem granularity mb to kb
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: by review comment
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: by scan_memory_on_exhausted comment
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: by review comment
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: typo
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-03-26 03:25:50 +00:00
Ruihang Xia
2af3951944
feat: cache decoded region metadata alone with parquet metadata ( #7813 )
...
* cache decoded region metadata
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: account for decoded sst metadata cache weight
* take optional pre-exist metadata
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-03-19 03:09:47 +00:00
discord9
922f9cb3d6
feat: use dyn filter ( #7545 )
...
* parent b2074e3863
author discord9 <discord9@163.com > 1767869295 +0800
committer discord9 <discord9@163.com > 1772529023 +0800
feat: use dyn filter
Signed-off-by: discord9 <discord9@163.com >
not supported
Signed-off-by: discord9 <discord9@163.com >
refactor: use make_mut instead
Signed-off-by: discord9 <discord9@163.com >
refactor: rm need to clone stream ctx
Signed-off-by: discord9 <discord9@163.com >
r
Signed-off-by: discord9 <discord9@163.com >
pcr
Signed-off-by: discord9 <discord9@163.com >
test: wait for datafusion update
Signed-off-by: discord9 <discord9@163.com >
refactor: use arc swap for dyn filters
Signed-off-by: discord9 <discord9@163.com >
* test: update sqlness
Signed-off-by: discord9 <discord9@163.com >
* chore: comment out sqlness
Signed-off-by: discord9 <discord9@163.com >
* test: update sqlness
Signed-off-by: discord9 <discord9@163.com >
* test: sqlness fix
Signed-off-by: discord9 <discord9@163.com >
* refactor: predicate without option
Signed-off-by: discord9 <discord9@163.com >
* feat: print dyn filters& more tests
Signed-off-by: discord9 <discord9@163.com >
* test: sqlness vector result update
Signed-off-by: discord9 <discord9@163.com >
* chore: log
Signed-off-by: discord9 <discord9@163.com >
* test: properly redact
Signed-off-by: discord9 <discord9@163.com >
* test: better data dist for non empty dyn filter
Signed-off-by: discord9 <discord9@163.com >
* test: properly redacted
Signed-off-by: discord9 <discord9@163.com >
* chore: per review
Signed-off-by: discord9 <discord9@163.com >
* properly redact
Signed-off-by: discord9 <discord9@163.com >
* docs: explain why not do it
Signed-off-by: discord9 <discord9@163.com >
* chore: rename update to add as its more proper
Signed-off-by: discord9 <discord9@163.com >
* chore: rm no need clone
Signed-off-by: discord9 <discord9@163.com >
* docs: per review
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-03-11 03:06:24 +00:00
discord9
56ee8baa3f
feat: admin gc table/regions ( #7619 )
...
* feat: gc table
Signed-off-by: discord9 <discord9@163.com >
* test: admin gc
Signed-off-by: discord9 <discord9@163.com >
* chore: after rebase fix
Signed-off-by: discord9 <discord9@163.com >
* refactor: GcStats
Signed-off-by: discord9 <discord9@163.com >
* refactor: use gc ticker for admin gc
Signed-off-by: discord9 <discord9@163.com >
* fix: region routes override
Signed-off-by: discord9 <discord9@163.com >
* test: non happy path
Signed-off-by: discord9 <discord9@163.com >
* refactor: gc job report enum
Signed-off-by: discord9 <discord9@163.com >
* test: process 0 regions
Signed-off-by: discord9 <discord9@163.com >
* after rebase
Signed-off-by: discord9 <discord9@163.com >
* feat: allow manual gc to return error
Signed-off-by: discord9 <discord9@163.com >
* chore: update proto
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
* chore: timeout and update proto
Signed-off-by: discord9 <discord9@163.com >
* chore: udpate proto
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-03-06 08:25:44 +00:00
Yingwen
0c30bf1a10
feat: add a subcommand to bench scan ( #7722 )
...
* feat: support scan bench
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: support projection by name
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: support force flat format
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: spawn tasks to poll streams
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: support filter config
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: scan bench support wal
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: support not providing provider in wal
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: skip wal replay
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: wrap EngineComponents
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: add scanbench doc
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: change --skip-wal-replay to --enable-wal
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: remove limit from config
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-02-26 06:37:40 +00:00
Weny Xu
df04267c54
fix(repartition): reject writes on deallocating regions during region merge ( #7694 )
...
* feat(meta): add write route policy to region route with backward compatibility
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): use partition_expr compatibility accessor in repartition matching
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(meta): introduce staging partition rule enum for repartition instructions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(datanode): plumb staging partition rule enum through heartbeat handlers
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(meta): mark pending-deallocate regions as reject-all during merge staging
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(partition): exclude reject-all regions from write partitioning
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(mito): store staging partition rule enum in region state
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(mito): reject writes in staging when partition rule is reject-all
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(meta): send enter staging instruction with reject-all
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(repartition): preserve reject-all on exit, merge enter-staging instructions, and allow staged bulk writes
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: refactor to ignore all writes
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: rename StagingPartitionRule to StagingPartitionDirective across staging flow
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: add comments
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: clippy
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: nit
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: rename
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-02-25 07:04:38 +00:00
Yingwen
42ad842434
feat: support changing table's append_mode to true ( #7669 )
...
* feat: support alter append_mode to true
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: add sqlness test
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: remove comment
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix compiler errors
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: clear merge mode in mito when setting append mode
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: sanitize open request and options with both append/merge mode
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: clear merge mode when append mode is true
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-02-25 04:11:23 +00:00
Weny Xu
0ed3b83099
refactor: rename partition rule version to partition expr version ( #7696 )
...
* refactor: rename partition rule version to partition expr version
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update proto
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: clippy
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-02-10 10:12:47 +00:00
Weny Xu
8026b23834
feat: partition rule version validation for writes and staging ( #7628 )
...
* feat: verify partition rule
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: add partition version cache
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: header check
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: fmt toml
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: minor refactor
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: header
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: fix clippy
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: minor refactor
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: nit
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: nit
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-02-06 12:16:34 +00:00
Weny Xu
d0c610f3c7
feat: add partial_drop to DropRequest ( #7597 )
...
* feat: add `partial_drop` to `DropRequest`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: handle non-partial-drop drop task
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: remove files immediately
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-27 10:46:52 +00:00
Weny Xu
2ae20daa62
feat: add sync region instruction for repartition procedure ( #7562 )
...
* feat: add sync region instruction for repartition procedure
This commit introduces a new sync region instruction and integrates it
into the repartition procedure flow, specifically for metric engine tables.
Changes:
- Add SyncRegion instruction type and SyncRegionsReply in instruction.rs
- Implement SyncRegionHandler in datanode to handle sync region requests
- Add SyncRegion state in repartition procedure to sync newly allocated regions
- Integrate sync region step after enter_staging_region for metric engine tables
- Add sync_region flag and allocated_region_ids to PersistentContext
- Make SyncRegionFromRequest serializable for instruction transmission
- Add test utilities and mock support for sync region operations
The sync region step is conditionally executed based on the table engine type,
ensuring that newly allocated regions in metric engine tables are properly
synced from their source regions before proceeding with manifest remapping.
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: add logs
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(repartition): improve staging region handling and support metric engine repartition
- Reorder sync region flow: move SyncRegion from EnterStagingRegion to RepartitionStart to sync before applying staging
- Add ExitStaging metadata update state to properly clear staging leader info after repartition completes
- Update build_template_from_raw_table_info to optionally skip metric engine internal columns when creating region requests
- Fix region state transition: set_dropping now expects specific state (Staging or Writable) for proper validation
- Adjust region drop and copy handlers to handle staging regions correctly
- Add comprehensive test cases for metric engine SPLIT/MERGE partition operations on physical tables with logical tables
- Improve logging for table route updates, region drops, and repartition operations
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: removes code duplication
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: update result
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: refine comments
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: add error strategy support for flush region and flush pending deallocate regions
- **Add `ErrorStrategy` enum** in `procedure/utils.rs`:
- Supports `Ignore` and `Retry` strategies for error handling
- Refactor `flush_region` to accept `error_strategy` parameter
- Extract `handle_flush_region_reply` helper function for better code organization
- **Add pending deallocate region support**:
- Add `pending_deallocate_region_ids` field to `PersistentContext`
- Implement `flush_pending_deallocate_regions` in `EnterStagingRegion` state
- Flush pending deallocate regions before entering staging regions to ensure data consistency
- **Update error handling**:
- `flush_leader_region`: Use `ErrorStrategy::Ignore` to skip unreachable datanodes
- `sync_region`: Use `ErrorStrategy::Retry` for critical operations
- `enter_staging_region`: Use `ErrorStrategy::Retry` when flushing pending deallocate regions
This change improves the robustness of the repartition procedure by:
1. Providing flexible error handling strategies for flush operations
2. Ensuring pending deallocate regions are properly flushed before repartitioning
3. Preventing data inconsistency during region migration
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: compile
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-01-15 04:52:57 +00:00
discord9
6487f14f70
feat: gc schd update repart mapping ( #7517 )
...
* feat(gc): batch gc now alos handle routing
Signed-off-by: discord9 <discord9@163.com >
typo
Signed-off-by: discord9 <discord9@163.com >
s
Signed-off-by: discord9 <discord9@163.com >
feat: use batch gc procedure
Signed-off-by: discord9 <discord9@163.com >
feat: cross region refs
Signed-off-by: discord9 <discord9@163.com >
feat: clean up repartition
Signed-off-by: discord9 <discord9@163.com >
chore: cleanup
Signed-off-by: discord9 <discord9@163.com >
per review
Signed-off-by: discord9 <discord9@163.com >
test: update mock test
Signed-off-by: discord9 <discord9@163.com >
refactor: rm unused
Signed-off-by: discord9 <discord9@163.com >
refactor: invert related_regions
Signed-off-by: discord9 <discord9@163.com >
clippy
Signed-off-by: discord9 <discord9@163.com >
pcr
Signed-off-by: discord9 <discord9@163.com >
chore: remove unused
Signed-off-by: discord9 <discord9@163.com >
fix: after invert fix
Signed-off-by: discord9 <discord9@163.com >
chore: rm unused
Signed-off-by: discord9 <discord9@163.com >
refactor: eff
Signed-off-by: discord9 <discord9@163.com >
docs: chore
Signed-off-by: discord9 <discord9@163.com >
* after rebase fix
Signed-off-by: discord9 <discord9@163.com >
* chore
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
* fix: mssing region
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-01-12 08:28:34 +00:00
Weny Xu
2f242927a8
feat(repartition): implement region deallocation for repartition procedure ( #7522 )
...
* feat: implement deallocate regions for repartition procedure
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(metric-engine): add force flag to drop physical regions with associated logical regions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: update table metadata after deallocating regions
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 >
2026-01-07 06:13:48 +00:00
Weny Xu
b1d81913f5
feat: update ApplyStagingManifestRequest to fetch manifest from central region ( #7493 )
...
* feat: update ApplyStagingManifestRequest to fetch manifest from central region
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: refine comments
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(mito2): rename `StagingDataStorage` to `StagingBlobStorage`
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-12-30 07:29:56 +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
Weny Xu
294f19fa1d
feat(metric-engine): support sync logical regions from source region ( #7438 )
...
* chore: move file
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(metric-engine): support sync logical regions from source region
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: add comments
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: add comments
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-25 09:06:58 +00:00
AntiTopQuark
cea578244c
fix(compaction): unify behavior of database compaction options with TTL ( #7402 )
...
* fix: fix dynamic compactiom option,unify behavior of database compaction options with TTL option
Signed-off-by: AntiTopQuark <AntiTopQuark1350@outlook.com >
* fix unit test
Signed-off-by: AntiTopQuark <AntiTopQuark1350@outlook.com >
* add debug log
Signed-off-by: AntiTopQuark <AntiTopQuark1350@outlook.com >
---------
Signed-off-by: AntiTopQuark <AntiTopQuark1350@outlook.com >
2025-12-25 02:34:42 +00:00
Weny Xu
e1b18614ee
feat(mito2): implement ApplyStagingManifest request handling ( #7456 )
...
* feat(mito2): implement `ApplyStagingManifest` request handling
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: fmt
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 >
* fix: fix logic
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-12-24 09:05:09 +00:00
discord9
dec0d522f8
feat: gc versioned index ( #7412 )
...
* feat: add index version to file ref
Signed-off-by: discord9 <discord9@163.com >
* refactor wip
Signed-off-by: discord9 <discord9@163.com >
* wip
Signed-off-by: discord9 <discord9@163.com >
* update gc worker
Signed-off-by: discord9 <discord9@163.com >
* stuff
Signed-off-by: discord9 <discord9@163.com >
* gc report for index files
Signed-off-by: discord9 <discord9@163.com >
* fix: type
Signed-off-by: discord9 <discord9@163.com >
* stuff
Signed-off-by: discord9 <discord9@163.com >
* chore: clippy
Signed-off-by: discord9 <discord9@163.com >
* chore: metrics
Signed-off-by: discord9 <discord9@163.com >
* typo
Signed-off-by: discord9 <discord9@163.com >
* typo
Signed-off-by: discord9 <discord9@163.com >
* chore: naming
Signed-off-by: discord9 <discord9@163.com >
* docs: update explain
Signed-off-by: discord9 <discord9@163.com >
* test: parse file id/type from file path
Signed-off-by: discord9 <discord9@163.com >
* chore: change parse method visibility to crate
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
* chore
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-12-24 03:07:53 +00:00
dennis zhuang
a35a39f726
feat(vector_index): adds the foundational types and SQL parsing support for vector index ( #7366 )
...
* feat: adds the foundational types and SQL parsing support for vector index
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* refactor: by suggestions
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: ensure index option values must be greater than zero
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: validate connectivity strictly
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: compile error
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat: disable SIMD for ci
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2025-12-16 22:45:36 +00:00
Weny Xu
f7d5c87ac0
feat: introduce copy_region_from for mito engine ( #7389 )
...
* feat: introduce `copy_region_from`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix clippy
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
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 >
2025-12-16 06:12:06 +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
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
8346acb900
feat: introduce EnterStagingRequest for RegionEngine ( #7261 )
...
* feat: introduce `EnterStagingRequest` for region engine
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 >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: improve error handling in staging mode entry
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 >
2025-11-28 09:02:32 +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
Weny Xu
6b6d1ce7c4
feat: introduce remap_manifests for RegionEngine ( #7265 )
...
* refactor: consolidate RegionManifestOptions creation logic
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: introduce`remap_manifests` for `RegionEngine`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-25 12:09:20 +00:00
yihong
d811c4f060
fix: pre-commit all files failed ( #7290 )
...
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
2025-11-25 07:27:46 +00:00
Ruihang Xia
b32ca3ad86
perf: parallelize file source region ( #7285 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-11-24 11:37:48 +00:00
Ruihang Xia
25fab2ba7d
feat: don't validate external table's region schema ( #7268 )
...
* feat: don't validate external table's region schema
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix format
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-11-21 03:28:14 +00:00
discord9
e59612043d
feat: gc scheduler ctx&procedure ( #7252 )
...
* feat: gc ctx&procedure
Signed-off-by: discord9 <discord9@163.com >
* fix: handle region not found case
Signed-off-by: discord9 <discord9@163.com >
* docs: more explain&todo
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
* chore: add time for region gc
Signed-off-by: discord9 <discord9@163.com >
* fix: explain why loader for gc region should fail
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-11-19 08:35:17 +00:00
discord9
29bbff3c90
feat: gc worker only local regions&test ( #7203 )
...
* feat: gc worker only on local region
Signed-off-by: discord9 <discord9@163.com >
* more check
Signed-off-by: discord9 <discord9@163.com >
* chore: stuff
Signed-off-by: discord9 <discord9@163.com >
* fix: ignore async index file for now
Signed-off-by: discord9 <discord9@163.com >
* fix: file removal rate calc
Signed-off-by: discord9 <discord9@163.com >
* chore: per review
Signed-off-by: discord9 <discord9@163.com >
* chore: per review
Signed-off-by: discord9 <discord9@163.com >
* clippy
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-11-18 02:45:09 +00:00
Yingwen
bb6a3a2ff3
feat: support altering sst format for a table ( #7206 )
...
* refactor: remove memtable_builder from MitoRegion
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: add alter format
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: support changing the format and memtable
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: support changing sst format via table options
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: set scanner and memtable builder with correct format
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fix clippy
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: fix incorrect metadata in version after alter
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: add sqlness test
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: replace region_id in sqlness result
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: create correct memtable when setting sst_format explicitly
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: sqlness alter_format test set sst_format to primary_key
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: remove verbose log
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-11-11 13:19:00 +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
Weny Xu
6960a0183a
refactor: add support for batch region upgrade operations part1 ( #7155 )
...
* refactor: convert UpgradeRegion instruction to batch operation
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: introduce `handle_batch_catchup_requests` fn for mito engine
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: add tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: introduce `handle_batch_catchup_requests` fn for metric engine
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: suggestion and add ser/de tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: add comments
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-10-31 03:08:38 +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
discord9
37bc2e6b07
feat: gc worker heartbeat instruction ( #7118 )
...
again
false by default
test: config api
refactor: per code review
less info!
even less info!!
docs: gc regions instr
refactor: grp by region id
per code review
per review
error handling?
test: fix
todos
aft rebase fix
after refactor
Signed-off-by: discord9 <discord9@163.com >
2025-10-29 02:59:36 +00:00
discord9
68247fc9b1
fix: count_state use stat to eval&predicate w/out region ( #7116 )
...
* fix: count_state use stat to eval
Signed-off-by: discord9 <discord9@163.com >
* cleanup
Signed-off-by: discord9 <discord9@163.com >
* fix: use predicate without region
Signed-off-by: discord9 <discord9@163.com >
* test: diverge standalone/dist impl
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-10-27 02:14:45 +00:00
Yingwen
4c70b4c31d
feat: store estimated series num in file meta ( #7126 )
...
* feat: add num_series to FileMeta
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add SeriesEstimator to collect num_series
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: set num_series in compactor
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: print num_series in Debug for FileMeta
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fmt code
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fix clippy
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: increase series count when next ts <= last
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: add tests for SeriesEstimator
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add num_series to ssts_manifest table
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: update sqlness tests
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: fix metric engine list entry test
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-10-24 05:53:48 +00:00