jeremyhi
95eccd6cde
feat: introduce granularity for memory manager ( #7416 )
...
* feat: introduce granularity for memory manager
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: add unit test
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: remove granularity getter for mamanger
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* Update src/common/memory-manager/src/manager.rs
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
* feat: acquire_with_policy for manager
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-17 11:08:51 +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
discord9
1afcddd5a9
chore: feature gate vector_index ( #7428 )
...
Signed-off-by: discord9 <discord9@163.com >
2025-12-17 07:14:25 +00:00
shuiyisong
62808b887b
fix: using anonymous s3 access when ak and sk is not provided ( #7425 )
...
* chore: allow s3 anon
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: disable ec2 metadata
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2025-12-17 06:34:29 +00:00
Lei, HUANG
da964880f5
chore: expose symbols ( #7417 )
...
* refactor/expose-symbols:
## Refactor `bulk/part.rs` to Simplify Mutation Handling
- Removed the `mutations_to_record_batch` function and its associated helper functions, including `ArraysSorter`, `timestamp_array_to_iter`, and `binary_array_to_dictionary`, to simplify the mutation handling logic in `bulk/part.rs`.
- Deleted related test functions `check_binary_array_to_dictionary` and `check_mutations_to_record_batches` from the test module, along with their associated test cases.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/expose-symbols:
### Commit Message
**Refactor and Enhance Deduplication Logic**
- **`flush.rs`**: Refactored `maybe_dedup_one` function to accept `append_mode` and `merge_mode` as parameters instead of `RegionOptions`. This change enhances flexibility in deduplication logic.
- **`memtable/bulk.rs`**: Made `BulkRangeIterBuilder` struct and its fields public to allow external access and modification, improving extensibility.
- **`sst.rs`**: Corrected a typo in the schema documentation, changing `__prmary_key` to `__primary_key` for clarity and accuracy.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2025-12-17 01:29:36 +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
Lei, HUANG
e0c1566e92
fix(servers): flight stuck on waiting for first message ( #7413 )
...
* fix/flight-stuck-on-first-message:
**Refactor GRPC Stream Handling and Table Resolution**
- **`grpc.rs`**: Refactored the `GrpcQueryHandler` to resolve table references and check permissions only once per stream, improving efficiency. Introduced a mechanism to handle table resolution and permission checks after receiving the first `RecordBatch`.
- **`flight.rs`**: Enhanced `PutRecordBatchRequestStream` to manage stream states (`Init` and `Ready`) for better handling of schema and table name extraction. Improved error handling and logging for unexpected flight messages.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* chore: add some doc
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2025-12-16 08:54:13 +00:00
Yingwen
f6afb10e33
feat!: download file to fill the cache on write cache miss ( #7294 )
...
* feat: download inverted index file
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: download for bloom and fulltext
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: implement maybe_download_background for FileCache
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: load file for parquet
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: reduce channel size
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: use ManifestCache
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: pass cache to ManifestObjectStore::new
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fix fmt and clippy
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: remove manifest cache ttl
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: remove read cache
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: clean old read cache path
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: update config
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: update config examples
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: update test
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix CI
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: also clean the root directory
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: update manifest test
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix compiler errors
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: skip file if it exists
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: remove warn in replace
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add a flag to enable/disable background download
set the concurrency to 1 for background download
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: rename write_cache_enable_background_download to enable_refill_cache_on_read
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: update config test
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: address comments
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: update config.md
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fmt code
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-12-16 08:31:26 +00:00
dennis zhuang
2dfcf35fee
feat: support function aliases and add MySQL-compatible aliases ( #7410 )
...
* feat: support function aliases and add MySQL-compatible aliases
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: get_table_function_source
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* refactor: add function_alias mod
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: license
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2025-12-16 06:56:23 +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
Weny Xu
9cd57e9342
fix: use verified recycling method for PostgreSQL connection pool ( #7407 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-12-16 02:49:01 +00:00
jeremyhi
32f9cc5286
feat: move memory_manager to common crate ( #7408 )
...
* feat: move memory_manager to common crate
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: add license header
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: by AI comment
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2025-12-15 13:15:33 +00:00
Yingwen
5232a12a8c
feat: per file scan metrics ( #7396 )
...
* feat: collect per file metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: divide build_cost to build_part_cost and build_reader_cost
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: limit the file metrics num to display
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: use sorted iter to get sorted files
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: output metrics in desc order
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-12-15 12:52:03 +00:00
fys
913ac325e5
chore: add is_initialized method for frontend client ( #7409 )
...
chore: add `is_initialized` for frontend client
2025-12-15 12:51:09 +00:00
LFC
0c52d5bb34
fix: cpu cores got wrongly calculated to 0 ( #7405 )
...
* fix: cpu cores got wrongly calculated to 0
Signed-off-by: luofucong <luofc@foxmail.com >
* Update src/common/stat/src/resource.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-15 09:40:49 +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
Ruihang Xia
b601781604
feat: optimize and fix part sort on overlapping time windows ( #7387 )
...
* enforce two ends sort
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: discord9 <discord9@163.com >
* primary end scope drain
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: discord9 <discord9@163.com >
* correct fuzzy generator, no zero limit
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: discord9 <discord9@163.com >
* early stop check
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: discord9 <discord9@163.com >
* correct test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: discord9 <discord9@163.com >
* simplify implementation by removing some old logic
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: discord9 <discord9@163.com >
* what
Signed-off-by: discord9 <discord9@163.com >
* maybe
Signed-off-by: discord9 <discord9@163.com >
* fix: reread topk
Signed-off-by: discord9 <discord9@163.com >
* remove: unused topk_buffer_fulfilled method
Fixes clippy dead code warning by removing the unused method.
Signed-off-by: discord9 <discord9@163.com >
* fix: correct test expectations for windowed sort with limit
Updated test expectations in windowed sort tests to match actual algorithm behavior:
- Fixed descending sort test to expect global top 4 values [95, 94, 90, 85] instead of group-local selection
- Fixed ascending sort test to expect global smallest 4 values [5, 6, 7, 8] and adjusted read count accordingly
- Updated comments to reflect correct algorithm behavior for threshold-based boundary detection
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
Signed-off-by: discord9 <discord9@163.com >
* skip fuzzy test for now
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: discord9 <discord9@163.com >
Co-authored-by: discord9 <discord9@163.com >
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com >
2025-12-12 14:04:32 +00:00
Ruihang Xia
bd3ad60910
fix: promql offset direction ( #7392 )
...
* fix: promql offset direction
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sort sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* commit forgotten file
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-12 07:51:35 +00:00
Ruihang Xia
cbfdeca64c
fix: promql histogram with aggregation ( #7393 )
...
* fix: promql histogram with aggregation
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test constructors
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sqlness tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* redact partition number
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-12 07:32:04 +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
11a5e1618d
test: test_tracker_cleanup skip non linux ( #7398 )
...
test: skip non linux
Signed-off-by: discord9 <discord9@163.com >
2025-12-12 06:27:57 +00:00
Lanqing Yang
f5e0e94e3a
chore(mito): nit avoid clone the batch object on inverted index building ( #7388 )
...
fix: avoid clone the batch object on inverted index building
Signed-off-by: lyang24 <lanqingy93@gmail.com >
2025-12-12 04:58:37 +00:00
Weny Xu
ba4eda40e5
refactor: optimize heartbeat channel and etcd client keepalive settings ( #7390 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-12-11 13:32:11 +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
fys
84b4777925
fix: parse "KEEP FIRING FOR" ( #7386 )
...
* fix: parse "KEEP FIRING FOR"
* fix: cargo fmt
2025-12-11 03:54:47 +00:00
discord9
a26dee0ca1
fix: gc listing op first ( #7385 )
...
Signed-off-by: discord9 <discord9@163.com >
2025-12-11 03:25:05 +00:00
Ning Sun
276f6bf026
feat: grafana postgresql data source query builder support ( #7379 )
...
* feat: grafana postgresql data source query builder support
* test: add sqlness test cases
2025-12-11 03:18:35 +00:00
Weny Xu
1d5291b06d
fix(procedure): update procedure state correctly during execution and on failure ( #7376 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-12-11 02:30:32 +00:00
Ruihang Xia
564cc0c750
feat: table/column/flow COMMENT ( #7060 )
...
* initial impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplify impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sqlness test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* avoid unimplemented panic
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* validate flow
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix table column comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* table level comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplify table info serde
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* don't txn
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove empty trait
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* wip: procedure
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update proto
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* grpc support
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Apply suggestions from code review
Co-authored-by: dennis zhuang <killme2008@gmail.com >
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* try from pb struct
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* doc comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* check unchanged fast case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* tune errors
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix merge error
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* use try_as_raw_value
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: dennis zhuang <killme2008@gmail.com >
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
2025-12-10 15:08:47 +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
Ruihang Xia
ab426cbf89
refactor: remove duplication coverage and code from window sort tests ( #7384 )
...
* refactor: remove duplication coverage and code from window sort tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* allow clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-10 10:11:19 +00:00
Weny Xu
cb0f1afb01
fix: improve network failure detection ( #7382 )
...
* fix(meta): add default etcd client options with keep-alive settings (#7363 )
* fix: improve network failure detection (#7367 )
* Update src/meta-srv/src/handler.rs
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
---------
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2025-12-10 09:48:36 +00:00
Yingwen
a22d08f1b1
feat: collect merge and dedup metrics ( #7375 )
...
* feat: collect FlatMergeReader metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add MergeMetricsReporter, rename Metrics to MergeMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: remove num_input_rows from MergeMetrics
The merge reader won't dedup so there is no need to collect input rows
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: report merge metrics to PartitionMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add dedup cost to DedupMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect dedup metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: remove metrics from FlatMergeIterator
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: remove num_output_rows from MergeMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix clippy
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: implement merge() for merge and dedup metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: report metrics after observe metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-12-10 09:16:20 +00:00
Ruihang Xia
6817a376b5
fix: part sort behavior ( #7374 )
...
* fix: part sort behavior
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* tune tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* debug assertion and remove produced count
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-10 07:44:44 +00:00
discord9
4d1a587079
chore: saturating duration since ( #7380 )
...
chore: sat duration since
Signed-off-by: discord9 <discord9@163.com >
2025-12-10 07:10:46 +00:00
Lei, HUANG
9f1aefe98f
feat: allow one to many VRL pipeline ( #7342 )
...
* feat/allow-one-to-many-pipeline:
### Enhance Pipeline Processing for One-to-Many Transformations
- **Support One-to-Many Transformations**:
- Updated `processor.rs`, `etl.rs`, `vrl_processor.rs`, and `greptime.rs` to handle one-to-many transformations by allowing VRL processors to return arrays, expanding each element into separate rows.
- Introduced `transform_array_elements` and `values_to_rows` functions to facilitate this transformation.
- **Error Handling Enhancements**:
- Added new error types in `error.rs` to handle cases where array elements are not objects and for transformation failures.
- **Testing Enhancements**:
- Added tests in `pipeline.rs` to verify one-to-many transformations, single object processing, and error handling for non-object array elements.
- **Context Management**:
- Modified `ctx_req.rs` to clone `ContextOpt` when adding rows, ensuring correct context management during transformations.
- **Server Pipeline Adjustments**:
- Updated `pipeline.rs` in `servers` to handle transformed outputs with one-to-many row expansions, ensuring correct row padding and request formation.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/allow-one-to-many-pipeline:
Add one-to-many VRL pipeline test in `http.rs`
- Introduced `test_pipeline_one_to_many_vrl` to verify VRL processor's ability to expand a single input row into multiple output rows.
- Updated `http_tests!` macro to include the new test.
- Implemented test scenarios for single and multiple input rows, ensuring correct data transformation and row count validation.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/allow-one-to-many-pipeline:
### Add Tests for VRL Pipeline Transformations
- **File:** `src/pipeline/src/etl.rs`
- Added tests for one-to-many VRL pipeline expansion to ensure multiple output rows from a single input.
- Introduced tests to verify backward compatibility for single object output.
- Implemented tests to confirm zero rows are produced from empty arrays.
- Added validation tests to ensure array elements must be objects.
- Developed tests for one-to-many transformations with table suffix hints from VRL.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/allow-one-to-many-pipeline:
### Enhance Pipeline Transformation with Per-Row Table Suffixes
- **`src/pipeline/src/etl.rs`**: Updated `TransformedOutput` to include per-row table suffixes, allowing for more flexible routing of transformed data. Modified `PipelineExecOutput` and related methods to
handle the new structure.
- **`src/pipeline/src/etl/transform/transformer/greptime.rs`**: Enhanced `values_to_rows` to support per-row table suffix extraction and application.
- **`src/pipeline/tests/common.rs`** and **`src/pipeline/tests/pipeline.rs`**: Adjusted tests to validate the new per-row table suffix functionality, ensuring backward compatibility and correct behavior in
one-to-many transformations.
- **`src/servers/src/pipeline.rs`**: Modified `run_custom_pipeline` to process transformed outputs with per-row table suffixes, grouping rows by `(opt, table_name)` for insertion.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/allow-one-to-many-pipeline:
### Update VRL Processor Type Checks
- **File:** `vrl_processor.rs`
- **Changes:** Updated type checking logic to use `contains_object()` and `contains_array()` methods instead of `is_object()` and `is_array()`. This change ensures
compatibility with VRL type inference that may return multiple possible types.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/allow-one-to-many-pipeline:
- **Enhance Error Handling**: Added new error types `ArrayElementMustBeObjectSnafu` and `TransformArrayElementSnafu` to improve error handling in `etl.rs` and `greptime.rs`.
- **Refactor Error Usage**: Moved error usage declarations in `transform_array_elements` and `values_to_rows` functions to the top of the file for better organization in `etl.rs` and `greptime.rs`.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/allow-one-to-many-pipeline:
### Update `greptime.rs` to Enhance Error Handling
- **Error Handling**: Modified the `values_to_rows` function to handle invalid array elements based on the `skip_error` parameter. If `skip_error` is true, invalid elements are skipped; otherwise, an error is returned.
- **Testing**: Added unit tests in `greptime.rs` to verify the behavior of `values_to_rows` with different `skip_error` settings, ensuring correct processing of valid objects and appropriate error handling for invalid elements.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/allow-one-to-many-pipeline:
### Commit Summary
- **Enhance `TransformedOutput` Structure**: Refactored `TransformedOutput` to use a `HashMap` for grouping rows by `ContextOpt`, allowing for per-row configuration options. Updated methods in `PipelineExecOutput` to support the new structure (`src/pipeline/src/etl.rs`).
- **Add New Transformation Method**: Introduced `transform_array_elements_to_hashmap` to handle array inputs with per-row `ContextOpt` in `HashMap` format (`src/pipeline/src/etl.rs`).
- **Update Pipeline Execution**: Modified `run_custom_pipeline` to process `TransformedOutput` using the new `HashMap` structure, ensuring rows are grouped by `ContextOpt` and table name (`src/servers/src/pipeline.rs`).
- **Add Tests for New Structure**: Implemented tests to verify the functionality of the new `HashMap` structure in `TransformedOutput`, including scenarios for one-to-many mapping, single object input, and empty arrays (`src/pipeline/src/etl.rs`).
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/allow-one-to-many-pipeline:
### Refactor `values_to_rows` to Return `HashMap` Grouped by `ContextOpt`
- **`etl.rs`**:
- Updated `values_to_rows` to return a `HashMap` grouped by `ContextOpt` instead of a vector.
- Adjusted logic to handle single object and array inputs, ensuring rows are grouped by their `ContextOpt`.
- Modified functions to extract rows from default `ContextOpt` and apply table suffixes accordingly.
- **`greptime.rs`**:
- Enhanced `values_to_rows` to handle errors gracefully with `skip_error` logic.
- Added logic to group rows by `ContextOpt` for array inputs.
- **Tests**:
- Updated existing tests to validate the new `HashMap` return structure.
- Added a new test to verify correct grouping of rows by per-element `ContextOpt`.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/allow-one-to-many-pipeline:
### Refactor and Enhance Error Handling in ETL Pipeline
- **Refactored Functionality**:
- Replaced `transform_array_elements` with `transform_array_elements_by_ctx` in `etl.rs` to streamline transformation logic and improve error handling.
- Updated `values_to_rows` in `greptime.rs` to use `or_default` for cleaner code.
- **Enhanced Error Handling**:
- Introduced `unwrap_or_continue_if_err` macro in `etl.rs` to allow skipping errors based on pipeline context, improving robustness in data processing.
These changes enhance the maintainability and error resilience of the ETL pipeline.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/allow-one-to-many-pipeline:
### Update `Row` Handling in ETL Pipeline
- **Refactor `Row` Type**: Introduced `RowWithTableSuffix` type alias to simplify handling of rows with optional table suffixes across the ETL pipeline.
- **Modify Function Signatures**: Updated function signatures in `etl.rs` and `greptime.rs` to use `RowWithTableSuffix` for better clarity and consistency.
- **Enhance Test Coverage**: Adjusted test logic in `greptime.rs` to align with the new `RowWithTableSuffix` type, ensuring correct grouping and processing of rows by TTL.
Files affected: `etl.rs`, `greptime.rs`.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2025-12-10 06:38:44 +00:00
Lei, HUANG
2f9130a2de
chore(mito): expose some symbols ( #7373 )
...
chore/expose-symbols:
### Commit Summary
- **Visibility Changes**: Updated visibility of functions in `bulk/part.rs`:
- Made `record_batch_estimated_size` and `sort_primary_key_record_batch` functions public.
- **Enhancements**: Enhanced functionality in `memtable.rs` by exposing additional components from `bulk::part`:
- `BulkPartEncoder`, `BulkPartMeta`, `UnorderedPart`, `record_batch_estimated_size`, and `sort_primary_key_record_batch`.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2025-12-09 14:33:14 +00:00
shuiyisong
fa2b4e5e63
refactor: extract file watcher to common-config ( #7357 )
...
* refactor: extract file watcher to common-config
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: add file check
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: watch dir instead of file
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-12-09 11:23:26 +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
discord9
36d89c3baf
fix: use saturating in gc tracker ( #7369 )
...
chore: use saturating
Signed-off-by: discord9 <discord9@163.com >
2025-12-09 06:38:59 +00:00
ZonaHe
8b26a98c3b
feat: update dashboard to v0.11.9 ( #7364 )
...
Co-authored-by: sunchanglong <sunchanglong@users.noreply.github.com >
2025-12-09 02:37:44 +00:00
discord9
7199823be9
chore: rename to avoid git reserved name ( #7359 )
...
rename to avoid reserved name
Signed-off-by: discord9 <discord9@163.com >
2025-12-08 04:01:25 +00:00
Ruihang Xia
60f752d306
feat: run histogram quantile in safe mode for incomplete data ( #7297 )
...
* initial impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sqlness test and fix
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* correct sqlness case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplification
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* refine code and comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-05 09:19:21 +00:00
Ruihang Xia
edb1f6086f
feat: decode pk eagerly ( #7350 )
...
* feat: decode pk eagerly
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* merge primary_key_codec and decode_primary_key_values
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-05 09:11:51 +00:00
discord9
1ebcef4794
chore: rm unnecessary warning ( #7352 )
...
Signed-off-by: discord9 <discord9@163.com >
2025-12-05 03:44:45 +00:00
Ning Sun
2147545c90
fix: regression with shortcutted statement on postgres extended query ( #7340 )
...
* fix: regression with shortcutted statement on postgres extended query
* chore: typo fix
* feat: also add more type support for parameters
* chore: remove dbg print
2025-12-05 02:08:23 +00:00
Yingwen
84e4e42ee7
feat: add more verbose metrics to scanners ( #7336 )
...
* feat: add inverted applier metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add metrics to bloom applier
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add metrics to fulltext index applier
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: implement BloomFilterReadMetrics for BloomFilterReader
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect read metrics for inverted index
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add metrics for range_read and metadata
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: rename elapsed to fetch_elapsed
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect metadata fetch metrics for inverted index
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect cache metrics for inverted and bloom index
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect read metrics in appliers
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect fulltext dir metrics for applier
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect parquet row group metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add parquet metadata metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add apply metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect more metrics for memory row group
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add fetch metrics to ReaderMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: init verbose metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: debug print metrics in ScanMetricsSet
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: implement debug for new metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix compiler errors
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: update parquet fetch metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect the whole fetch time
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add file_scan_cost
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: parquet fetch add cache_miss counter
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: print index read metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: use actual bytes to increase counter
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: remove provided implementations for index reader traits
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: change get_parquet_meta_data() method to receive metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: rename file_scan_cost to sst_scan_cost
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: refine ParquetFetchMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fix clippy
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fmt code
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: remove useless inner method
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: collect page size actual needed
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify InvertedIndexReadMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplfy InvertedIndexApplyMetrics Debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify BloomFilterReadMetrics Debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify BloomFilterIndexApplyMetrics Debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify FulltextIndexApplyMetrics implementation
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify ParquetFetchMetrics Debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify MetadataCacheMetrics Debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: only print verbose metrics when they are not empty.
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: use mutex to protect ParquetFetchMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fmt code
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: use duration for elapsed in ParquetFetchMetricsData
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-12-04 13:40:18 +00:00
Yingwen
d5c616a9ff
feat: implement a cache for manifest files ( #7326 )
...
* feat: use cache in manifest store
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: use ManifestCache
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: clean empty manifest dir
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: get last checkpoint from cache
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add hit/miss counter for manifest cache
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: add logs
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: pass cache to ManifestObjectStore::new
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix compiler errors
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: cache checkpoint
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: cache checkpoint in write
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix compiler warnings
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: update config comment
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: manifest store cache for staging
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: move recover_inner to FileCacheInner
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: remove manifest cache config from MitoConfig
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: reduce clone when cache is enabled
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: do not cache staging manifests
We clean staging manifests by remove_all which isn't easy to clean
the cache in the same way
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: fix paths in manifest cache
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: don't clean dir if it is too new
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: reuse write cache ttl as manifest cache ttl
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fix clippy
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: clean all empty subdirectories
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-12-04 12:51:09 +00:00
discord9
f02bdf5428
test: gc worker scheduler mock test ( #7292 )
...
* feat: gc worker only on local region
Signed-off-by: discord9 <discord9@163.com >
feat: gc scheduler
wip: gc trigger
Signed-off-by: discord9 <discord9@163.com >
feat: dn file removal rate
Signed-off-by: discord9 <discord9@163.com >
feat: trigger gc with stats(WIP)
Signed-off-by: discord9 <discord9@163.com >
chore
Signed-off-by: discord9 <discord9@163.com >
also move files ref manifest to store-api
Signed-off-by: discord9 <discord9@163.com >
feat: basic gc trigger impl
Signed-off-by: discord9 <discord9@163.com >
wip: handle file ref change
Signed-off-by: discord9 <discord9@163.com >
refactor: use region ids
Signed-off-by: discord9 <discord9@163.com >
fix: retry using related regions
Signed-off-by: discord9 <discord9@163.com >
chore: rm unused
Signed-off-by: discord9 <discord9@163.com >
fix: update file reference type in GC worker
Signed-off-by: discord9 <discord9@163.com >
feat: dn gc limiter
Signed-off-by: discord9 <discord9@163.com >
rename
Signed-off-by: discord9 <discord9@163.com >
feat: gc scheduler retry with outdated regions
Signed-off-by: discord9 <discord9@163.com >
feat: use real object store purger
Signed-off-by: discord9 <discord9@163.com >
wip: add to metasrv
Signed-off-by: discord9 <discord9@163.com >
feat: add to metasrv
Signed-off-by: discord9 <discord9@163.com >
feat: datanode gc worker handler
Signed-off-by: discord9 <discord9@163.com >
fix: no partition col fix
Signed-off-by: discord9 <discord9@163.com >
fix: RegionId json deser workaround
Signed-off-by: discord9 <discord9@163.com >
fix: find access layer
Signed-off-by: discord9 <discord9@163.com >
fix: on host dn
Signed-off-by: discord9 <discord9@163.com >
fix: stat dedup
Signed-off-by: discord9 <discord9@163.com >
refactor: rm load-based
Signed-off-by: discord9 <discord9@163.com >
chore: aft rebase fix
Signed-off-by: discord9 <discord9@163.com >
feat: not full scan
Signed-off-by: discord9 <discord9@163.com >
chore: after rebase fix
Signed-off-by: discord9 <discord9@163.com >
feat: clean tracker
Signed-off-by: discord9 <discord9@163.com >
after rebase fix
Signed-off-by: discord9 <discord9@163.com >
clippy
Signed-off-by: discord9 <discord9@163.com >
refactor: split gc scheduler
Signed-off-by: discord9 <discord9@163.com >
feat: smaller linger time
Signed-off-by: discord9 <discord9@163.com >
feat: parallel region gc instr
Signed-off-by: discord9 <discord9@163.com >
chore: rename
Signed-off-by: discord9 <discord9@163.com >
chore: rename
Signed-off-by: discord9 <discord9@163.com >
enable is false
Signed-off-by: discord9 <discord9@163.com >
feat: update removed files precisely
Signed-off-by: discord9 <discord9@163.com >
all default to false&use local file purger
Signed-off-by: discord9 <discord9@163.com >
feat: not evict if gc enabled
Signed-off-by: discord9 <discord9@163.com >
per review
Signed-off-by: discord9 <discord9@163.com >
fix: pass gc config in mito&test: after truncate gc
Signed-off-by: discord9 <discord9@163.com >
WIP: one more test
Signed-off-by: discord9 <discord9@163.com >
test: basic compact
Signed-off-by: discord9 <discord9@163.com >
test: compact with ref
Signed-off-by: discord9 <discord9@163.com >
refactor: for easier mock
Signed-off-by: discord9 <discord9@163.com >
docs: explain race condition
Signed-off-by: discord9 <discord9@163.com >
feat: gc region procedure
Signed-off-by: discord9 <discord9@163.com >
refactor: ctx send gc/ref instr with procedure
Signed-off-by: discord9 <discord9@163.com >
fix: config deser to default
Signed-off-by: discord9 <discord9@163.com >
refactor: gc report
Signed-off-by: discord9 <discord9@163.com >
wip: async index file rm
Signed-off-by: discord9 <discord9@163.com >
fixme?
Signed-off-by: discord9 <discord9@163.com >
typo
Signed-off-by: discord9 <discord9@163.com >
more ut
Signed-off-by: discord9 <discord9@163.com >
test: more mock test
Signed-off-by: discord9 <discord9@163.com >
more
Signed-off-by: discord9 <discord9@163.com >
refactor: split mock test
Signed-off-by: discord9 <discord9@163.com >
clippy
Signed-off-by: discord9 <discord9@163.com >
refactor: rm stuff
Signed-off-by: discord9 <discord9@163.com >
test: mock add gc report per region
Signed-off-by: discord9 <discord9@163.com >
fix: stricter table failure condition
Signed-off-by: discord9 <discord9@163.com >
sutff
Signed-off-by: discord9 <discord9@163.com >
feat: can do different table gc same time&more todos
Signed-off-by: discord9 <discord9@163.com >
after rebase check
Signed-off-by: discord9 <discord9@163.com >
* chore
Signed-off-by: discord9 <discord9@163.com >
* chore
Signed-off-by: discord9 <discord9@163.com >
* wip: refactoring test
Signed-off-by: discord9 <discord9@163.com >
* fix: also get from follower peer
Signed-off-by: discord9 <discord9@163.com >
* test: update mock test
Signed-off-by: discord9 <discord9@163.com >
* revert some change&clean up
Signed-off-by: discord9 <discord9@163.com >
* typo
Signed-off-by: discord9 <discord9@163.com >
* chore: after rebase fix
Signed-off-by: discord9 <discord9@163.com >
* choer: more fix
Signed-off-by: discord9 <discord9@163.com >
* revert
Signed-off-by: discord9 <discord9@163.com >
* revert change to handler.rs
Signed-off-by: discord9 <discord9@163.com >
* test: fix mock test
Signed-off-by: discord9 <discord9@163.com >
* chore: rm retry
Signed-off-by: discord9 <discord9@163.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: discord9 <discord9@163.com >
* after rebase fix
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-04 12:00:25 +00:00
Ruihang Xia
f2288a86b0
perf: treat DISTINCT as comm/part-comm ( #7348 )
...
* perf: treat DISTINCT as comm/part-comm
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sqlness tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-04 11:14:00 +00:00