Commit Graph

5397 Commits

Author SHA1 Message Date
shuiyisong
9faa012fa1 chore: add trait for creating meta kvbackend in standalone (#8063)
Signed-off-by: shuiyisong <xixing.sys@gmail.com>
2026-05-06 03:09:57 +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>
v1.0.0-nightly-20260504
2026-05-01 02:28:55 +00:00
Ning Sun
b8951a3514 feat: persist our column_id to parquet field_id (#8032)
* feat: persist our column_id to parquet field_id

* refactor: avoid clone field when possible

* chore: fmt

* chore: address style suggestions
2026-04-30 15:40:24 +00:00
discord9
d7310244a5 chore: sqlness redact datetime (#8058)
chore: as title

Signed-off-by: discord9 <discord9@163.com>
2026-04-30 11:15:30 +00:00
Lei, HUANG
f0b3ee4830 fix: batched prometheus ingest row metric (#8054)
* fix: count batched prometheus ingest rows

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* fix: align batched ingest metrics

Use actual affected rows when updating `DIST_INGEST_ROW_COUNT` and cache the flush database label to avoid repeated `get_db_string` allocation.

Files: `src/servers/src/pending_rows_batcher.rs`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

---------

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>
2026-04-30 04:17:38 +00:00
jeremyhi
266734d7ef fix: win cli lock (#8049)
Signed-off-by: jeremyhi <fengjiachun@gmail.com>
2026-04-29 10:02:06 +00:00
LFC
457fd03008 refactor: make json_get adapted with JSON2 (#8043)
* refactor: make `json_get` adapted with JSON2

Signed-off-by: luofucong <luofc@foxmail.com>

* resolve PR comments

Signed-off-by: luofucong <luofc@foxmail.com>

---------

Signed-off-by: luofucong <luofc@foxmail.com>
2026-04-29 07:06:32 +00:00
Yingwen
6a84393e08 feat: support prefiltering any columns in flat format (#7972)
* refactor: prepare parquet prefilter for multi-column execution

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: restore parquet physical filter contexts

Signed-off-by: evenyag <realevenyag@gmail.com>

* feat: add generalized parquet prefilter projection

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: avoid re-evaluating parquet prefiltered predicates

Signed-off-by: evenyag <realevenyag@gmail.com>

* test: cover generalized parquet prefilter behavior

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: remove variant

Signed-off-by: evenyag <realevenyag@gmail.com>

* feat: only prefilter physical exprs

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: remove execute_general_prefilter

Signed-off-by: evenyag <realevenyag@gmail.com>

* feat: only prefilter cheap exprs

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: context usage

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: categorize filters

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: prefilter plan for bulk memtable

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: move parquet filter plan builders into prefilter

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: comment

Signed-off-by: evenyag <realevenyag@gmail.com>

* test: simplify tests

Signed-off-by: evenyag <realevenyag@gmail.com>

* feat: enable prefilter by threshold

Signed-off-by: evenyag <realevenyag@gmail.com>

* fix: correct pk filter grouping

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: update comment

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: remove unused code

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: fix warning

Signed-off-by: evenyag <realevenyag@gmail.com>

* fix: handle nulls in physical filter result

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: fmt import

Signed-off-by: evenyag <realevenyag@gmail.com>

* docs: update comments

Signed-off-by: evenyag <realevenyag@gmail.com>

---------

Signed-off-by: evenyag <realevenyag@gmail.com>
2026-04-29 03:35:22 +00:00
fys
8955e2c651 feat: add read column abstraction (#8038)
* feat: add read columns strcut

* fix: cr by ai

* fix: cr by ai

* fix: cr by ai

* fix: cr
2026-04-29 03:29:39 +00:00
Ning Sun
7b0a1f26db fix: make sure interceptor is called for plan execution (#8041) 2026-04-29 02:26:20 +00:00
Lei, HUANG
049f78055b feat(meta): add dropped table tombstone metadata helpers (#8040)
* feat(meta): add dropped table tombstone lookup

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* chore: ignore worktrees

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* chore: reformat

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* docs(meta): add documentation for `TombstoneManager` keys

Summarize the tombstone mechanism and list all involved metadata keys
in `src/common/meta/src/key/tombstone.rs`.

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* perf(meta): batch tombstone lookups

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* chore: address comments

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

---------

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>
2026-04-28 08:44:02 +00:00
QuakeWang
b8cec203ad feat: allow detailed index config in pipeline (#8036)
* feat: allow detailed index config in pipeline

Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com>

* refactor: simplify transform index option lowering

Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com>

* test: cover pipeline index options creation

Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com>

---------

Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com>
2026-04-28 08:43:59 +00:00
Weny Xu
a807823827 refactor: make InsertForwarder use shared metasrv database operator (#8033)
* refactor: make InsertForwarder use shared metasrv database operator

Signed-off-by: WenyXu <wenymedia@gmail.com>

* chore: apply suggestion from CR

Signed-off-by: WenyXu <wenymedia@gmail.com>

---------

Signed-off-by: WenyXu <wenymedia@gmail.com>
2026-04-28 08:22:36 +00:00
discord9
760581b2a0 fix: windows windowed sort ci (#8039)
* fix: windows windowed sort ci

Signed-off-by: discord9 <discord9@163.com>

* chore

Signed-off-by: discord9 <discord9@163.com>

* c

Signed-off-by: discord9 <discord9@163.com>

---------

Signed-off-by: discord9 <discord9@163.com>
2026-04-28 02:35:44 +00:00
Yingwen
9b75d8b734 refactor(mito2): reshape extension range API (#8004)
* refactor(mito2): reshape extension range API

Thread per-range read options into the extension range flat reader so
it can honor PreFilterMode like other range kinds, and drop the unused
legacy Batch reader surface.

- extension.rs: introduce ExtensionRangeReadOptions { pre_filter_mode };
  flat_reader() takes it; remove reader(), ExtensionRangeReader, and
  BoxedExtensionRangeReader (no in-tree or out-of-tree call sites use
  the Batch-format reader path anymore).
- scan_util.rs: plumb options through maybe_scan_flat_other_ranges and
  scan_flat_extension_range.
- seq_scan.rs / unordered_scan.rs: build options at the call site via
  StreamContext::range_pre_filter_mode.

Using an options struct (rather than a bare PreFilterMode argument)
keeps future additions additive for out-of-tree ExtensionRange impls.

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor(mito2): hoist ExtensionRangeReadOptions out of row-group loops

Build ext_options once per partition range instead of per row-group index in
build_flat_sources and scan_flat_partition_range. Both inputs (part_range and
range_pre_filter_mode) are loop-invariant.

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: fix compiler error without enterprise feature

Signed-off-by: evenyag <realevenyag@gmail.com>

---------

Signed-off-by: evenyag <realevenyag@gmail.com>
2026-04-27 07:41:54 +00:00
Weny Xu
0c942fc23a refactor: unify frontend discovery with active peer discovery (#8031)
* feat: add MetaClient peer discovery support

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor: reuse peer discovery for flow frontend discovery

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor: use active frontend peers in process manager

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: 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>
2026-04-27 06:40:37 +00:00
discord9
d2d256909f feat(flow): parse defer on miss src table (#7980)
* feat: parse create flow with

Signed-off-by: discord9 <discord9@163.com>

* feat: validate after parse

Signed-off-by: discord9 <discord9@163.com>

* pcr

Signed-off-by: discord9 <discord9@163.com>

* chore: sqlness

Signed-off-by: discord9 <discord9@163.com>

---------

Signed-off-by: discord9 <discord9@163.com>
2026-04-27 03:02:13 +00:00
Yvan Wang
793545d8e6 fix(server): describe EXPLAIN statements so bind parameters work (#8035)
* fix(server): describe EXPLAIN statements so bind parameters work

`do_describe_inner` only planned `Insert`/`Query`/`Delete`, so
`EXPLAIN` and `EXPLAIN ANALYZE` fell through to the non-plan branch
and had no parameter-type inference. At Bind time the Postgres
handler then reported `unsupported_parameter_type` even though the
inner query would have worked on its own.

Recurse one level into `Statement::Explain` so that an EXPLAIN
wrapping a plannable statement goes through the same describe path.
Adds a tokio-postgres integration test that exercises
`EXPLAIN`/`EXPLAIN ANALYZE` over the extended query protocol.

Fixes #8029

Signed-off-by: BootstrapperSBL <yvanwww@gmail.com>

* refactor(server): extract plannable-inner check into closure

Reduce duplication between the direct match and the EXPLAIN inner match
by factoring out is_inner_plannable. Behaviour unchanged.

Signed-off-by: BootstrapperSBL <yvanwww@gmail.com>

---------

Signed-off-by: BootstrapperSBL <yvanwww@gmail.com>
2026-04-26 14:01:35 +00:00
shuiyisong
0effc30778 chore: update the opendal to 0.56 rc2 (#8003)
* chore: update opendal version

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* chore: update opendal version

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* chore: fix test

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* fix: grpc init

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* fix: dep versions

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* fix: remove aws-lc-rs in reqwest

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* chore: rebase main and fix compile

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* fix: remove unused deps

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* Revert "fix: remove aws-lc-rs in reqwest"

This reverts commit 90bfafca06.

* chore: remove aws-lc-sys from blacklist

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* chore: fix sqlness

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* chore: add tls deps

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* fix: idemptent install in rds

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* fix: test

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* chore: use aws-lc-sys as possible

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* fix: lint

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* fix: address comments

Signed-off-by: shuiyisong <xixing.sys@gmail.com>

* chore: address CR issue

Signed-off-by: shuiyisong <xixing.sys@gmail.com>
Signed-off-by: evenyag <realevenyag@gmail.com>

* fix: sync opendal compat adapter with upstream

Signed-off-by: evenyag <realevenyag@gmail.com>

* fix: address compat clippy warnings

Signed-off-by: evenyag <realevenyag@gmail.com>

---------

Signed-off-by: shuiyisong <xixing.sys@gmail.com>
Signed-off-by: evenyag <realevenyag@gmail.com>
Co-authored-by: evenyag <realevenyag@gmail.com>
2026-04-26 09:59:48 +00:00
discord9
9fafd879ed fix: window sort off by one precision TimeRange&better alias track (#8019)
* fix: window sort track alias&off by one precision TimeRange

Signed-off-by: discord9 <discord9@163.com>

* chore: more test

Signed-off-by: discord9 <discord9@163.com>

* refactor: clear helper

Signed-off-by: discord9 <discord9@163.com>

* dedup a bit

Signed-off-by: discord9 <discord9@163.com>

* feat: even more guard

Signed-off-by: discord9 <discord9@163.com>

* fix: case insensitive

Signed-off-by: discord9 <discord9@163.com>

---------

Signed-off-by: discord9 <discord9@163.com>
2026-04-24 13:56:51 +00:00
QuakeWang
8825ea3fdf fix!: align gRPC CLI option names with config naming (#8021)
* fix: align gRPC CLI option names with config naming

Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com>

* fix: warn on deprecated metasrv grpc config

Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com>

---------

Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com>
2026-04-24 09:51:01 +00:00
discord9
1167c36c4e feat: add seq watermark in record batch metrics (#8015)
* feat: add seq watermark in record batch metrics

Signed-off-by: discord9 <discord9@163.com>

* per review

Signed-off-by: discord9 <discord9@163.com>

---------

Signed-off-by: discord9 <discord9@163.com>
2026-04-24 07:54:10 +00:00
Palak Jha
aaa3f2cdf9 feat: support gRPC-Web on frontend gRPC server (#8027)
feat: add gRPC-Web support using tonic-web

Signed-off-by: polar <palakjha916@gmail.com>
2026-04-24 06:48:15 +00:00
jeremyhi
10f3f59a01 test(cli): harden import state lock test (#8030)
Signed-off-by: jeremyhi <fengjiachun@gmail.com>
2026-04-24 06:38:05 +00:00
Yingwen
1fda2f5a35 feat: tune range cache (#8006)
* feat: use range cache size in manager

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: update compact condition

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: update tests

Signed-off-by: evenyag <realevenyag@gmail.com>

* fix: validate permits before acquiring

Signed-off-by: evenyag <realevenyag@gmail.com>

---------

Signed-off-by: evenyag <realevenyag@gmail.com>
2026-04-23 11:26:23 +00:00
jeremyhi
e316797fff feat(cli): add retry and import state fundations (#8007)
* feat(cli): add retry and import state fiundations

Signed-off-by: jeremyhi <fengjiachun@gmail.com>

* fix: by AI comments

Signed-off-by: jeremyhi <fengjiachun@gmail.com>

* fix: by AI comments

Signed-off-by: jeremyhi <fengjiachun@gmail.com>

* fix: by human comments

Signed-off-by: jeremyhi <fengjiachun@gmail.com>

---------

Signed-off-by: jeremyhi <fengjiachun@gmail.com>
2026-04-23 04:38:36 +00:00
Weny Xu
39f9c7b4a4 feat(cli): add metadata put key and table commands (#7989)
* feat: add validated metadata put cli

Signed-off-by: WenyXu <wenymedia@gmail.com>

* feat: add table metadata put commands

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor: share metadata table selector

Signed-off-by: WenyXu <wenymedia@gmail.com>

* feat(cli): read metadata put values from stdin

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>

---------

Signed-off-by: WenyXu <wenymedia@gmail.com>
2026-04-23 04:34:05 +00:00
LFC
209880b991 feat: json2 flush (#8011)
Signed-off-by: luofucong <luofc@foxmail.com>
2026-04-23 03:03:37 +00:00
Yingwen
dc2f2cbfae fix: manifest recovery scans after last version if possible (#8009)
* feat: suppport scan with start after

Signed-off-by: evenyag <realevenyag@gmail.com>

* test: add start_after test

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: adjust remove dir warning

Signed-off-by: evenyag <realevenyag@gmail.com>

* test: test list_with_start_after

Signed-off-by: evenyag <realevenyag@gmail.com>

* fix: update get_paths call with start_after arg in checkpoint test

Signed-off-by: evenyag <realevenyag@gmail.com>

* feat: log scan metrics

Signed-off-by: evenyag <realevenyag@gmail.com>

* fix: fix start_after on manifest dir

Signed-off-by: evenyag <realevenyag@gmail.com>

---------

Signed-off-by: evenyag <realevenyag@gmail.com>
2026-04-23 02:42:59 +00:00
fys
1440924955 fix: nested projection missing roots (#7993)
* fix: nested projection missing roots

* add docs and unit test

* fix: cr by ai

* move some computations to new method
2026-04-22 09:35:21 +00:00
ZonaHe
6649c14938 feat: update dashboard to v0.12.2 (#8010)
Co-authored-by: sunchanglong <sunchanglong@users.noreply.github.com>
2026-04-22 07:15:34 +00:00
QuakeWang
e8a86a4273 feat: expose flownode addrs in information_schema flows (#7992)
* feat: expose flownode addrs in information_schema flows

Signed-off-by: QuakeWang <1677980708@qq.com>

* fix: always include flownode addrs

Signed-off-by: QuakeWang <1677980708@qq.com>

* test: split flownode_addrs sqlness cases by mode

Signed-off-by: QuakeWang <1677980708@qq.com>

* test: fix flow_tql sqlness snapshots

Signed-off-by: QuakeWang <1677980708@qq.com>

* test: fix sqlness information_schema snapshot

Signed-off-by: QuakeWang <1677980708@qq.com>

---------

Signed-off-by: QuakeWang <1677980708@qq.com>
Co-authored-by: dennis zhuang <killme2008@gmail.com>
2026-04-22 07:06:44 +00:00
discord9
73325acfe4 fix: zh same underscore behavior (#8002)
* fix: zh same underscore behavior

Signed-off-by: discord9 <discord9@163.com>

* fix: only add token with _ from en analyzer

Signed-off-by: discord9 <discord9@163.com>

* test: neg sqlness case

Signed-off-by: discord9 <discord9@163.com>

---------

Signed-off-by: discord9 <discord9@163.com>
2026-04-22 03:21:36 +00:00
Weny Xu
b0c093508a fix: upgrade mysql metadata value limit to mediumblob (#7985)
* fix: upgrade mysql metadata values to mediumblob

* fix: fail mysql metadata startup on upgrade check errors

Signed-off-by: WenyXu <wenymedia@gmail.com>

---------

Signed-off-by: WenyXu <wenymedia@gmail.com>
2026-04-22 03:05:01 +00:00
Ning Sun
80c395ee23 refactor: update SqlPlan for more cleaner variants (#7966)
* refactor: update SqlPlan for more cleaner variants

* refactor: change how we check readonly plan

* fix: don't return schema for non-query statement

* chore: reflect review comments

* fix: federated statements
2026-04-21 11:50:47 +00:00
Yingwen
449243a175 fix: update manifest state before deleting delta files (#8001)
* fix: update state before deleting deltas

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: update comment

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: update log level

Signed-off-by: evenyag <realevenyag@gmail.com>

---------

Signed-off-by: evenyag <realevenyag@gmail.com>
2026-04-21 11:14:13 +00:00
Yingwen
555741a9f1 feat: prune bulk memtable parts by first tag (#7911)
* feat: initial implementation for MultiBulkPart minmax pruning

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: add debug logs

Signed-off-by: evenyag <realevenyag@gmail.com>

* feat: prune bulk part

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: fmt code

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: address PR review comments for bulk part pruning

Document sparse encoding format in SparsePrimaryKeyCodec and add
comment explaining why primary_key.first() works for both encodings.
Remove noisy info-level pruning logs from the read path.

Signed-off-by: evenyag <realevenyag@gmail.com>

* test: add test for MultiBulkPart batch pruning behavior

Signed-off-by: evenyag <realevenyag@gmail.com>

* fix: don't return error when read() returns None

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: address review comments

Signed-off-by: evenyag <realevenyag@gmail.com>

---------

Signed-off-by: evenyag <realevenyag@gmail.com>
2026-04-21 10:08:16 +00:00
Joe Sluis
e26ce9ca32 fix: allow ipv4_num_to_string to accept valid integers (#7994)
* fix: allow ipv4_num_to_string to accept valid integers

Signed-off-by: Johannes Sluis <joesluis51@gmail.com>

* test: update sqlness result file

Signed-off-by: Johannes Sluis <joesluis51@gmail.com>

* fix: use coercible integer signature for ipv4_num_to_string

Signed-off-by: Johannes Sluis <joesluis51@gmail.com>

---------

Signed-off-by: Johannes Sluis <joesluis51@gmail.com>
2026-04-21 04:20:14 +00:00
Lei, HUANG
f6851cf8d7 feat(mito2): add PK-range-aware TWCS overlap handling (#7954)
* feat(mito2): extract and cache primary key range for SST files

Extracts primary key ranges from SST files during flush and compaction, and caches them in FileHandle for future use (e.g., overlapping checks).

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* feat/compaction-overlapping-check:
 - **Enhance Primary Key Range Logic**: Updated the `primary_key_ranges_overlap` function in `run.rs` to use `chunk()` for comparing byte ranges, improving accuracy in overlap detection.
 - **Refactor Run Assignment Logic**: Simplified the logic for assigning items to runs in `run.rs` by removing redundant match statements and using `is_empty()` and `iter().any()` for cleaner checks.
 - **Add Test for Transitivity Break**: Introduced a new test `test_find_sorted_runs_handles_2d_transitivity_break` in `run.rs` to ensure correct handling of transitivity breaks in sorted runs.

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* feat/compaction-overlapping-check:
 - **Remove PK-disjoint detection logic**: Simplified the compaction logic in `twcs.rs` by removing the `has_time_overlapping_pairs` function and related logic for PK-disjoint detection. This includes the removal of the `append_mode_force_compact` condition and associated tests.
 - **Update compaction trigger settings**: Modified `append_mode_test.rs` to set `compaction.twcs.trigger_file_num` to "2" and adjusted the expected number of files in the scanner assertion from 1 to 2.

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* chore: rebase main

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* feat/compaction-overlapping-check:
 ### Remove Unused Import in `compactor.rs`

 - Removed the unused import `compact_request` from `compactor.rs` to clean up the codebase.

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* fix: tighten `mito2` file lifecycle handling

Refine compaction, flush, and SST/version bookkeeping across `src/mito2/src/compaction/*`, `src/mito2/src/flush.rs`, `src/mito2/src/region/*`, `src/mito2/src/sst/*`, and related tests/utilities.

* fix: reuse primary key range merge in twcs compaction

Centralize primary key range merging so  can call the shared helper from .

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* refactor(mito2): simplify `FileHandle` initialization and internalize primary key range extraction

- Updated `FileHandle::new` to automatically compute the primary key range directly from `FileMeta`.
- Restricted `FileHandle::new_with_primary_key_range` to be test-only by adding the `#[cfg(test)]` attribute.
- Simplified `SstVersion::add_files` by adopting the updated `FileHandle::new` instead of manually providing the primary key range.

Modified files:
- `src/mito2/src/sst/file.rs`
- `src/mito2/src/sst/version.rs`

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* feat/compaction-overlapping-check:
 ### Improve File Management and Documentation

 - **`twcs.rs`**: Added a comment to clarify the merging of small files when there are no overlapping files.
 - **`version.rs` (in `region` and `sst`)**: Enhanced documentation for `add_files` method, explaining its functionality and panic conditions. Simplified the file handle creation logic in `sst/version.rs`.

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* feat/compaction-overlapping-check:
 ### Enhance Primary Key Range Handling in `opener.rs`

 - Updated logic in `opener.rs` to set the primary key range for file handles when it is not already defined. This change ensures that the primary key range is extracted and set using `extract_primary_key_range` when necessary.

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

* docs: add docs for the necessity of checking pk and timesmaps while find overlapping files.

* chore: address review comments

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>

---------

Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>
2026-04-21 03:23:22 +00:00
Weny Xu
61461e6dee test: add repartition chaos target (#7924)
* test: add repartition chaos fuzz target

Signed-off-by: WenyXu <wenymedia@gmail.com>

* chore: use containerd runtime

Signed-off-by: WenyXu <wenymedia@gmail.com>

* chore: enable logs

Signed-off-by: WenyXu <wenymedia@gmail.com>

* chore: correct config

Signed-off-by: WenyXu <wenymedia@gmail.com>

* fix: unit tests

Signed-off-by: WenyXu <wenymedia@gmail.com>

---------

Signed-off-by: WenyXu <wenymedia@gmail.com>
2026-04-21 03:19:52 +00:00
Yingwen
f8f2e19dda refactor(mito2): remove PrimaryKey variants (#7982)
* refactor: make scan compat path flat-only

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: use flat projection mapper directly

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: remove dead compat batch enum

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: drop dead primary-key projection helpers

Signed-off-by: evenyag <realevenyag@gmail.com>

* refactor: use flat read format directly

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: fix warnings

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: fmt code

Signed-off-by: evenyag <realevenyag@gmail.com>

---------

Signed-off-by: evenyag <realevenyag@gmail.com>
2026-04-21 02:43:09 +00:00
LFC
c7427fa6d2 feat: json2 insert (#7981)
* feat: json2 insert

Signed-off-by: luofucong <luofc@foxmail.com>

* resolve PR comments

Signed-off-by: luofucong <luofc@foxmail.com>

* use main greptime-proto

Signed-off-by: luofucong <luofc@foxmail.com>

---------

Signed-off-by: luofucong <luofc@foxmail.com>
2026-04-20 09:45:32 +00:00
Lei, HUANG
db55271ddd chore: add build info in panic message (#8000)
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com>
2026-04-20 08:42:18 +00:00
discord9
8123406fae feat(flow): inc query scan bind seq (#7879)
* feat: add sequence scan boundaries and stale detection

Signed-off-by: discord9 <discord9@163.com>

* fix: only scan bind once

Signed-off-by: discord9 <discord9@163.com>

* refactor: flow snapshot decision

Signed-off-by: discord9 <discord9@163.com>

* refactor: one place modify

Signed-off-by: discord9 <discord9@163.com>

* chore: per review

Signed-off-by: discord9 <discord9@163.com>

* refactor: pre review

Signed-off-by: discord9 <discord9@163.com>

* per review

Signed-off-by: discord9 <discord9@163.com>

---------

Signed-off-by: discord9 <discord9@163.com>
2026-04-20 03:32:31 +00:00
discord9
a8540ad39d perf: better jieba cut (#7984)
* perf: better jieba cut

Signed-off-by: discord9 <discord9@163.com>

* fix: also filter pun mark

Signed-off-by: discord9 <discord9@163.com>

* chore

Signed-off-by: discord9 <discord9@163.com>

* docs: explain why

Signed-off-by: discord9 <discord9@163.com>

---------

Signed-off-by: discord9 <discord9@163.com>
v1.0.0-nightly-20260420
2026-04-17 08:33:29 +00:00
Ning Sun
8c40374b1a feat: add more range check and test for parsing postgres parameters (#7962)
* feat: add more range check and test for parsing postgres parameters

* test: add more test cases
2026-04-17 08:26:47 +00:00
yxrxy
6c924efc2f fix: remove redundant error messages in admin functions (#7953)
Closes #7938

Signed-off-by: yxrxy <yxrxytrigger@gmail.com>
2026-04-17 08:21:22 +00:00
Ning Sun
0abf7c1596 feat: add an index page (#7975)
* feat: include an index page

* fix: address code review

* fix: let / auth gated

* refactor: rename public-apis to public-api-prefix
2026-04-17 07:27:00 +00:00
Weny Xu
8aefcfae33 fix(meta): renew operating region leases from keeper roles (#7971)
* refactor(meta): store operating region roles in memory keeper

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor(meta): register operating region roles from region routes

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor(meta): require explicit operating region roles

Signed-off-by: WenyXu <wenymedia@gmail.com>

* fix(meta): renew operating region leases from keeper roles

Signed-off-by: WenyXu <wenymedia@gmail.com>

* test(common-meta): cover region route role helpers

Signed-off-by: WenyXu <wenymedia@gmail.com>

* test(meta): cover operating region role propagation

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>

* fix(meta): prefer metadata roles for region lease renewal

Signed-off-by: WenyXu <wenymedia@gmail.com>

---------

Signed-off-by: WenyXu <wenymedia@gmail.com>
2026-04-17 06:46:54 +00:00
Yingwen
fb3290e555 feat: use PreFilterMode::All if only one source in the partition range (#7973)
* feat: use PrefilterMode::All if only one source in the partition range

Signed-off-by: evenyag <realevenyag@gmail.com>

* fix: consider append_mode

Signed-off-by: evenyag <realevenyag@gmail.com>

* chore: skip merge if only one source

Signed-off-by: evenyag <realevenyag@gmail.com>

* test: fix test

Signed-off-by: evenyag <realevenyag@gmail.com>

---------

Signed-off-by: evenyag <realevenyag@gmail.com>
2026-04-17 03:24:46 +00:00