Ning Sun
2527bc09e7
fix: postgres describe for more statements ( #8974 )
...
* fix: postgres describe for more statements
Signed-off-by: Ning Sun <sunning@greptime.com >
* fix: cover more show statements
Signed-off-by: Ning Sun <sunning@greptime.com >
* fix: address review comments
- add missing `clippy::too_many_arguments` allow on
`query_from_information_schema_dataframe` (CI clippy failure)
- take `&ShowKind` in the information-schema dataframe helper so `kind`
is no longer cloned at every call site; only the WHERE arm (which needs
an owned expression for `sql_to_expr`) clones internally
- document why re-applying TQL explain formats never overwrites an
existing value (per-query context state)
Signed-off-by: Ning Sun <sunning@greptime.com >
* chore: trim comments to essentials
Signed-off-by: Ning Sun <sunning@greptime.com >
---------
Signed-off-by: Ning Sun <sunning@greptime.com >
(cherry picked from commit d32cd77505 )
2026-09-04 13:14:41 +08:00
wy471x
0e2516a38f
fix(mysql): interpret prepared statement datetime params in session timezone ( #8923 )
...
* fix(mysql): interpret prepared statement datetime params in session timezone
Binary DATETIME parameters of server-side prepared statements were
converted as if UTC, ignoring the session timezone set via SET time_zone.
Convert them with the session timezone and add an integration test
covering prepared inserts and predicates under Asia/Shanghai.
Signed-off-by: wy471x <wy471x@gmail.com >
* refactor: share naive datetime timezone policy via common-time
Address review feedback on the prepared-statement timezone fix:
- Expose Timestamp::from_naive_datetime in common-time so the DST policy
(gap -> error, ambiguous -> earlier instant) lives in one place, shared
by the text protocol (Timestamp::from_str) and the MySQL binary protocol.
- Route the MySQL prepared-statement datetime conversion through it.
- Match the target type before converting datetime params so
PreparedStmtTypeMismatch fails fast without wasted conversion.
- Use the short Timezone import form for consistency with the rest of servers.
Signed-off-by: wy471x <wy471x@gmail.com >
---------
Signed-off-by: wy471x <wy471x@gmail.com >
Co-authored-by: Ning Sun <sunng@protonmail.com >
(cherry picked from commit aaa843104b )
2026-09-04 13:14:41 +08:00
WenyXu
9d34394c31
test: renew etcd TLS certificates ( #8956 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 144f83528d )
2026-09-04 13:13:07 +08:00
WenyXu
31e5cbb37e
fix(flight): bound DoGet response wait ( #8943 )
...
* fix(flight): defer datanode query initialization
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(client): retain Flight stream peer context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(client): improve Flight stream diagnostics
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 28398138ec )
2026-09-03 21:51:31 +08:00
WenyXu
2f717316e4
fix(meta): allow manual migration from offline datanodes ( #8934 )
...
* fix(meta): allow migration from offline datanodes
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: fix offline migration event actor
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: read migration routes from metadata
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 8a473c5bf0 )
2026-09-03 21:51:31 +08:00
discord9
40e02ff6b6
fix(query): restore columnar group-by for dictionary-encoded tags
...
Bump the pinned DataFusion fork from 452cb4b786 to its linear successor
4c8a6bf283. The successor preserves the existing Dictionary-literal
Substrait fix, includes the intervening join-cardinality overflow fix,
and adds DictionaryGroupValuesColumn support so dictionary-encoded group
keys can use the columnar grouping path instead of GroupValuesRows.
Add an end-to-end integration test that writes 1,200 rows to an
append-mode flat SST, groups its dictionary-encoded hostname tag by hour,
and checks all six ordered result tuples exactly. AggregateExec does not
expose the concrete GroupValues implementation through EXPLAIN or metrics;
direct DictionaryGroupValuesColumn path coverage remains in the pinned
DataFusion fork tests.
(cherry picked from commit d99b0df374 )
Signed-off-by: discord9 <discord9@163.com >
2026-08-21 12:37:46 +08:00
Weny Xu
ab80858652
feat(procedure): record event actor ( #8849 )
...
* feat(event): record procedure actor
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: handle streamed region migration output
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: cover procedure actors across SQL protocols
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit ed4271af40 )
(cherry picked from commit 23e65b404943d53905a2fbe992fcf462acc54556)
2026-08-21 11:51:11 +08:00
Weny Xu
cf6c003359
refactor(event): separate procedure submission context ( #8856 )
...
* refactor(event): separate procedure submission context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): map extensions and forward GC context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(gc): initialize integration test context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(test): pass procedure context to DDL helpers
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: simplify procedure submission contexts
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): separate procedure and query contexts
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): clarify procedure context propagation
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): preserve procedure submission context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): move DDL context by value
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(test): retain manual GC event context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): tighten procedure context API
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update greptime-proto
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 1af4c33524 )
(cherry picked from commit 1b6ee164f2b4a32afeb7c36fd926bcc651046294)
Signed-off-by: discord9 <discord9@163.com >
2026-08-21 11:51:11 +08:00
Weny Xu
22174d32da
feat(event): record admin function executions ( #8835 )
...
* feat(event): record admin function executions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): handle admin function recording edge cases
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(event): record actor for admin functions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): preserve admin function event values
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): preserve non-finite admin results
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 943eee852f )
2026-08-21 11:51:11 +08:00
Weny Xu
5d059c84bd
refactor(procedure): centralize event context handling ( #8834 )
...
* refactor(procedure): centralize event context handling
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): simplify migration trigger reason handling
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): avoid cloning event context
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 72f6cf09bf )
2026-08-21 11:51:11 +08:00
Weny Xu
e80f539077
test: fix unknown channel event context expectation ( #8832 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 00e45c8602 )
2026-08-21 11:51:11 +08:00
Weny Xu
0b499475de
fix(event): preserve procedure lifecycle locators ( #8787 )
...
* fix(event): preserve procedure lifecycle locators
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): preserve dropped table lifecycle locators
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): cover lifecycle locators
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): fix lifecycle context expectations
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 32e215cad0 )
2026-08-21 11:51:11 +08:00
Weny Xu
e9ad585975
feat(event): add event context to procedure events ( #8734 )
...
* feat(event): add trigger context to procedure events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): fix trigger context event contracts
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): preserve trigger context origins
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): preserve lifecycle trigger contexts
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): gate enterprise trigger imports
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): assert trigger contexts exactly
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(test): restore migration test literals
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(event): add trigger context to non-table ddl
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): simplify trigger context encoding
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): preserve auto alter trigger reason
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): require explicit trigger context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): derive trigger context at ddl boundary
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): propagate DDL trigger reasons
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): resolve alter table rebase conflict
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(meta): fix alter table trigger context setup
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): pass trigger context to region migration
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): fix unknown trigger context assertions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): centralize trigger context protocol mapping
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): fix migration trigger context assertion
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(procedure): rename event runtime context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): rename trigger context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): fix migration event context assertion
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 1f1c9270a8 )
2026-08-21 11:51:11 +08:00
Ning Sun
b0b6a9821d
feat!: update native histogram unsigned int types ( #8824 )
...
* feat(native-histogram): store counts and span lengths as signed integers
Native histograms are unreleased, so the on-disk integer payload columns
are switched from unsigned to signed types without backward-compat:
- count_u64 / zero_count_u64: uint64 -> int64
- positive_span_lengths / negative_span_lengths: list(uint32) -> list(int32)
- Span.length (query-time model): u32 -> i32
The Prometheus remote-write v2 source carries these as uint64/uint32, so
the unsigned->signed conversion at the ingestion boundary is overflow
checked: an integer count >= 2^63 or a span length >= 2^31 is rejected
with an explicit error rather than silently wrapping to a negative value.
read_spans additionally rejects negative stored lengths to keep the
non-negative invariant sound for downstream `as usize` casts.
The UDAF accumulator's own observation counter (transient aggregation
state, not part of the persisted histogram value) is intentionally left
as uint64.
Signed-off-by: Ning Sun <sunning@greptime.com >
* refactor(native-histogram): rename count/zero_count fields to _i64
Now that the integer payload columns are stored as int64, rename the
field constants and persisted names to match:
COUNT_U64_FIELD ("count_u64") -> COUNT_I64_FIELD ("count_i64")
ZERO_COUNT_U64_FIELD ("zero_count_u64") -> ZERO_COUNT_I64_FIELD ("zero_count_i64")
The local builder variables and the docs/JSON snapshot are updated to
match. No backward-compat (unreleased feature).
Signed-off-by: Ning Sun <sunning@greptime.com >
* test(native-histogram): refresh planner plan snapshot for signed types
The mixed native-histogram range test embeds the full histogram Struct
type in its expected plan string, which still carried the pre-rename
unsigned fields. Update the snapshot to match the signed schema:
positive/negative_span_lengths: List(UInt32) -> List(Int32)
count_u64/zero_count_u64: UInt64 -> count_i64/zero_count_i64: Int64
Signed-off-by: Ning Sun <sunning@greptime.com >
---------
Signed-off-by: Ning Sun <sunning@greptime.com >
(cherry picked from commit 3510ef7d4c )
(cherry picked from commit d636d6fd9e9474b262982f54dc5805f80127087a)
2026-08-21 11:51:11 +08:00
Yingwen
6618427fc6
feat: add admin function to discard unflushed data ( #8768 )
...
* feat: add admin function to discard unflushed data
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: cover discarding unflushed data by table
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix license header
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: reject discarding logical metric table data
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: defer table name formatting in error paths
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore(deps): update greptime-proto revision
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: rename discard unflushed admin function
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
(cherry picked from commit 68605aa64d25a24e14b3bbf0b62e453d97179947)
2026-08-21 11:51:11 +08:00
Yingwen and jeremyhi
407f83e15e
fix: backport Prometheus and skip_wal fixes to v1.2 ( #8838 )
...
* fix: support Utf8View labels in Prometheus response
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(meta): validate leaders before enabling skip_wal
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(meta): adapt skip_wal test to v1.2
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
Co-authored-by: jeremyhi <fengjiachun@gmail.com >
2026-08-11 14:17:47 +08:00
Lei, HUANG
7a2479496f
chore!: gate soft-drop table behind the enterprise feature ( #8747 )
...
* chore: gate soft-drop table behind the enterprise feature
Soft-drop table becomes an enterprise-only feature:
- metasrv rejects gc.experimental_soft_drop.enable=true at startup in
non-enterprise builds, and ddl_soft_drop_enabled is hard-disabled
without the enterprise feature as a second line of defense
- the UNDROP TABLE parser/AST/statement variant, ADMIN purge_table()
registration, and information_schema.recycle_bin registration are
compiled out unless the enterprise feature is enabled
- common-meta procedures, tombstone keys, and DdlTask serde stay
unconditional for persisted-procedure recovery and wire compatibility
- the [gc.experimental_soft_drop] section is removed from the OSS
example config and generated docs (moving to the enterprise repo)
- the soft-drop sqlness cases and their CI job are removed from OSS
(moving to the enterprise repo); affected information_schema .result
files are regenerated
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* refactor: limit unused_variables allow to non-enterprise builds
Addresses review comment: apply the allow via cfg_attr so enterprise
builds still catch accidental unused variables in register_admin_only.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* refactor: include the config key in the soft-drop enterprise gate error
Addresses review comment: name gc.experimental_soft_drop.enable in the
startup validation error so users can locate the setting quickly when
it is set via env vars or layered config.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* test: limit unused_mut allow to non-enterprise builds
Addresses review comment: apply the allow via cfg_attr so enterprise
builds still catch unused mut in the table_ddl_event test setup.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* feat: reject soft-drop DDL submissions in non-enterprise builds
Addresses review comment: clients could bypass the SQL-level gates by
submitting DdlTask::UndropTable or DdlTask::PurgeDroppedTable directly
to the procedure service. Reject fresh submissions at the DdlManager
boundary in non-enterprise builds while keeping the procedure loaders
registered for crash recovery and wire compatibility.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* test: stop --enable-gc from enabling soft drop in the sqlness template
Addresses review comment: the metasrv test template rendered
[gc.experimental_soft_drop] enable = true under the generic --enable-gc
flag, which non-enterprise metasrv now rejects at startup, making the
documented --enable-gc mode unusable in OSS. Keep the flag scoped to
plain GC; enterprise soft-drop coverage moves to the enterprise repo.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: gate fresh soft-drop procedures
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* test: gate soft-drop fallback coverage
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: gate soft-drop procedure implementation
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* refactor: gate drop table soft-drop behavior
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* refactor: gate expired soft-drop gc behavior
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* ci: test enterprise table ddl lifecycle
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* chore: mark purge_table as enterprise licensed
The purge_table module is compiled only with the enterprise feature, so
apply the Enterprise License header and register it with both license
header configurations.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* chore: mark recycle_bin as enterprise licensed
The recycle_bin module is compiled only with the enterprise feature, so
apply the Enterprise License header and register it with both license
header configurations.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* chore: mark soft-drop procedure sources as enterprise licensed
The purge and undrop procedure implementations plus the recycle-bin test
module compile only with the enterprise feature. Apply the Enterprise
License header and register them with both license configurations.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
---------
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
2026-08-06 15:10:54 +08:00
jeremyhi
448f973593
fix: sandbox SQL local filesystem access ( #8708 )
...
* fix: sandbox SQL local filesystem access
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: address local file sandbox review findings
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: support Windows local copy paths
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: improve sandbox path errors
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* refactor: simplify local path error context
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* perf: stream secure filesystem listings
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* style: derive local file access default
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: improve local file access errors
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: address local file access review findings
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* test: simplify local file access coverage
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: harden sandboxed local file backends
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: reject directory copy targets before creation
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: avoid implicit string clone in file table listing
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-07-31 13:23:15 +00:00
Weny Xu
1aa35716cb
refactor(event): store procedure trigger as JSONB ( #8700 )
...
* refactor(event): store procedure trigger as JSONB
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): fix JSONB procedure trigger assertions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): remove procedure trigger display
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): update batch GC trigger assertions
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-31 13:22:26 +00:00
discord9
c52db42b61
test: stabilize remote dynamic filter left join e2e ( #8711 )
...
test: stabilize remote dynamic filter left join
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
2026-07-31 10:56:52 +00:00
Weny Xu
8f11629e34
feat(metasrv): add batch GC lifecycle events ( #8673 )
...
* feat(metasrv): add batch GC lifecycle events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(metasrv): reduce batch GC event fanout
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(metasrv): fix batch GC event import
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(metasrv): refine batch GC events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(metasrv): preserve batch GC reports on failure
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(metasrv): retain batch GC reports on retry
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(metasrv): harden batch GC report merging
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: scope repartition SST assertions to target table
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-31 07:13:56 +00:00
shuiyisong
c3d8c976a2
feat(query): add native histogram result plumbing ( #8693 )
...
* feat(query): add native histogram result plumbing
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-07-31 03:14:48 +00:00
Weny Xu
979a22b38a
feat(metasrv): record WAL prune procedure events ( #8677 )
...
* feat(metasrv): record WAL prune procedure events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(metasrv): expand WAL prune procedure events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix toml fmt
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(metasrv): clarify WAL prune event semantics
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-30 09:09:27 +00:00
Weny Xu
47ca5c362e
feat: add table DDL procedure events ( #8627 )
...
* feat(meta): emit table DDL procedure events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): honor table DDL event filters
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(meta): cover table DDL event filters
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): align table DDL event conventions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): bound table DDL event payloads
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(meta): consolidate table DDL event tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* style(meta): use crate visibility in event tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: stabilize table DDL event assertions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): exclude repartition from alter table events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): resolve table event rebase conflicts
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-30 03:24:47 +00:00
Weny Xu
31f9a9a6fd
feat(metasrv): add repartition lifecycle events ( #8665 )
...
* feat(metasrv): add repartition lifecycle events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(metasrv): simplify event module names
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(procedure): emit submitted events for child procedures
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(metasrv): flatten repartition event payload
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(metasrv): defer repartition topology rows
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(procedure): avoid events on failed child spawn
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-29 13:15:43 +00:00
Ning Sun
deb688f572
feat: add a dedicated http api server port ( #8657 )
...
* feat: add a dedicated http api server port
* fix: integration test
* refactor: make http-api-port opt-in
* refactor: rename attribute to http-api-server
* feat: use middleware to check different http server port
* refactor: rename config option
2026-07-29 03:31:49 +00:00
Weny Xu
8ca6132b84
feat: add events for create and drop view ( #8626 )
...
* feat(procedure): add view ddl events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(procedure): satisfy view event clippy
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(meta): add view DDL procedure events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(meta): group view event tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): align view DDL events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): centralize view event schema
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(integration): use singular view event module
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(integration): align view event assertions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(integration): share DDL event assertions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* docs: document view event recorder types
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): align view DDL event conventions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(meta): simplify view event tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-29 03:13:44 +00:00
Weny Xu
775a9af3b8
feat: add procedure events for Flow DDL ( #8632 )
...
* feat(meta): record Flow DDL procedure events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): remove query schema from Flow events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(tests): fix Flow DDL event test
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-28 09:02:11 +00:00
Weny Xu
09e1d24365
feat: add database DDL procedure events ( #8623 )
...
* feat(meta): add database DDL procedure events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(sqlness): disable event recording
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: poll database DDL event assertions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* docs(config): list database DDL event types
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(test): satisfy clippy
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-28 05:03:06 +00:00
Weny Xu
7344d47756
feat(event-recorder): configure lifecycle event recording ( #8648 )
...
* refactor(event-recorder): centralize event table helpers
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(procedure): wire lifecycle event recorder
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(event-recorder): filter events by type
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event-recorder): derive event type filter default
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event-recorder): decouple frontend filtering
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: remove docs
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event-recorder): complete configuration support
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event-recorder): centralize filter ownership
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(config): update event recorder snapshot
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(frontend): decouple slow query event recorder
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-07-27 13:05:56 +00:00
shuiyisong
b27a97ab2e
fix(servers): validate remote write native histograms ( #8654 )
...
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-07-27 10:30:29 +00:00
yimeng
cbabf8a53d
Support unquoted postgres intervalstyle ( #8637 )
...
* Support unquoted postgres intervalstyle
Signed-off-by: yimeng <1982337+yimeng@users.noreply.github.com >
* test: verify unquoted intervalstyle output
Signed-off-by: yimeng <1982337+yimeng@users.noreply.github.com >
---------
Signed-off-by: yimeng <1982337+yimeng@users.noreply.github.com >
2026-07-26 15:02:18 +00:00
Weny Xu
d39f2292fa
feat(procedure): support trigger-aware procedure events ( #8549 )
...
* feat(procedure): add live event hook
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(procedure): add event trigger metadata
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(procedure): distinguish recovery events
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-07-24 09:44:33 +00:00
Lei, HUANG
c8f65c7b99
feat: update flow windows after metric batch flush ( #8544 )
...
* feat: update flow windows after metric batch flush
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* refactor: move batch rows into flow notifier
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: preserve timestamp index in metric batches
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: avoid blocking flow notification lookups
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: add context to timestamp extraction logs
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: include peer in flow notification errors
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* feat: compact flow notifications with time ranges
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: bound pending flow notification queue
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* refactor: send raw timestamps in flow notifications
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* test: update config API snapshot
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
---------
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
2026-07-22 13:09:30 +00:00
discord9 and Lei, HUANG
0564269426
fix: bind Prom remote read schema per query ( #8591 )
...
Signed-off-by: discord9 <discord9@163.com >
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2026-07-22 10:14:39 +00:00
shuiyisong
5065dfcf2f
feat: grant creators access to newly created databases ( #8566 )
...
* feat: implement auto database acl after create database
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add comments
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: timeout conversion:
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: remove register loaders parameter in ddl_manager initialization
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-07-21 11:29:49 +00:00
discord9
56addd0623
fix: stream remote analyze metrics while pending ( #8405 )
...
* fix: stream remote analyze metrics while pending
Signed-off-by: discord9 <discord9@163.com >
* test: verify flight metrics preserve pending batch
Signed-off-by: discord9 <discord9@163.com >
* fix: preserve direct SST perf queries in plans
Signed-off-by: discord9 <discord9@163.com >
* fix: bind flight metrics capability to query
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-21 04:17:50 +00:00
Yash Agrawal
026cfbd122
feat: support splunk HEC raw endpoint ( #8491 )
...
* feat: add /raw handler + unit tests
Signed-off-by: yash <yasha4658@gmail.com >
* feat: add integration test for splunk /raw handler
Signed-off-by: yash <yasha4658@gmail.com >
* fix: added logs and captured payload unit test for splunk /raw endpoint
Signed-off-by: yash <yasha4658@gmail.com >
* fix: apply cargo fmt and optimize raw_line_to_map
Signed-off-by: yash <yasha4658@gmail.com >
* fix: preserve entire body as a event with opt-in linebreaker query param
Signed-off-by: yash <yasha4658@gmail.com >
---------
Signed-off-by: yash <yasha4658@gmail.com >
2026-07-17 13:01:39 +00:00
shuiyisong
3ae8d7d46a
refactor: reconcile OTLP trace schemas request-wide ( #8485 )
...
* refactor: global trace schema
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: fmt
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* refactor: split files
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add comments and doc
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-07-16 10:56:27 +00:00
Lei, HUANG
4873fc4f18
feat(meta): add retention GC for soft-dropped tables ( #8526 )
...
* feat(meta): persist soft-drop retention metadata
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): complete soft-drop retention coverage
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): finalize soft-drop metadata after prepare
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* feat(meta): purge expired soft-dropped tables
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): keep soft-drop GC responsive
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): deduplicate soft-drop purge tasks
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): release purge reservations safely
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* refactor(meta): simplify soft-drop GC wiring
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* feat(meta): persist soft-drop retention deadlines
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): retain soft-drop config for recovery
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: complete standalone DDL test context
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): recheck retention before automatic purge
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): keep experimental soft drop disabled
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): rotate soft-drop purge candidates
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): address soft-drop retention review
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): protect retained table tombstones
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): preserve post-cleanup purge state
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix(meta): fence purge by drop generation
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
---------
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
2026-07-16 08:47:03 +00:00
Yingwen
0a002f4d65
feat: support per-region write buffer limits ( #8473 )
...
* feat(mito): add per-region write buffer limit
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat(mito): add default region write buffer size
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: expand configuration change checklist
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: cover table write buffer size option
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito): refine region write buffer checks
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito): keep region-stalled writes queued
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito): allow zero region write buffer size
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito): validate region state before write stall
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito): reject writes beyond region hard limit
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: update example
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-07-15 07:31:25 +00:00
discord9
1122d1e7d7
fix: apply log query limit after expressions ( #8496 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-07-15 05:02:03 +00:00
discord9
d48f296144
fix: reject out-of-range PostgreSQL numeric UInt64 ( #8517 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-07-15 02:05:15 +00:00
discord9
b30765e5e9
fix: preserve distributed topk merge ordering ( #8432 )
...
* fix: preserve distributed topk for scalar latest
Signed-off-by: discord9 <discord9@163.com >
* fix: preserve scalar latest ordering across merge scan
Signed-off-by: discord9 <discord9@163.com >
* fix: carry merge scan ordering from planner rewrite
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge scan ordering metadata
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge scan partition ordering gate
Signed-off-by: discord9 <discord9@163.com >
* fix: require adjacent merge sort for ordering metadata
Signed-off-by: discord9 <discord9@163.com >
* test: update ordering sqlness plans
Signed-off-by: discord9 <discord9@163.com >
* fix: preserve distributed topk merge ordering
Signed-off-by: discord9 <discord9@163.com >
* test: cover latest per series queries
Signed-off-by: discord9 <discord9@163.com >
* test: update distributed merge sort sqlness
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge scan ordering partition gate
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge scan over-partition ordering
Signed-off-by: discord9 <discord9@163.com >
* test: cover distributed latest with low parallelism
Signed-off-by: discord9 <discord9@163.com >
* fix: keep distributed merge sort opaque
Signed-off-by: discord9 <discord9@163.com >
* test: assert distributed scalar latest merge sort
Signed-off-by: discord9 <discord9@163.com >
* test: clarify merge scan ordering helper
Signed-off-by: discord9 <discord9@163.com >
* fix: complete merge sort exec delegation
Signed-off-by: discord9 <discord9@163.com >
* docs: explain merge sort limit pushdown
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge sort optimizer opacity
Signed-off-by: discord9 <discord9@163.com >
* docs: explain merge sort optimizer hooks
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge sort optimizer hooks
Signed-off-by: discord9 <discord9@163.com >
* fix: preserve merge sort child topk
Signed-off-by: discord9 <discord9@163.com >
* test: update order by topk plan
Signed-off-by: discord9 <discord9@163.com >
* fix: recognize merge sort global fetch
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-14 12:53:07 +00:00
Weny Xu
7039e54835
fix: require metasrv GC for repartition ( #8497 )
...
* fix: require GC for repartition
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: update sqlness result
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: enable GC for repartition integration tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-14 12:04:03 +00:00
discord9
99235e4b2d
fix: honor exclusive end in log queries ( #8495 )
...
* fix: exclude logs end boundary
Signed-off-by: discord9 <discord9@163.com >
* fix: normalize log query date bounds
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-14 06:19:17 +00:00
Yingwen
758664eefa
fix: Use prepared file locations for CSV strict headers integration test ( #8493 )
...
fix: normalize Windows COPY test paths
Signed-off-by: Codex <codex@openai.com >
2026-07-13 10:19:57 +00:00
QuakeWang
4e14ac8676
feat: add strict CSV header validation ( #8426 )
...
* feat: add strict CSV header validation
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
* style: simplify strict header parse error
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
---------
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
2026-07-10 02:15:08 +00:00
discord9
e6472fd12a
fix: pause GC during maintenance mode ( #8450 )
...
Skip scheduled meta GC while cluster maintenance mode is enabled and reject manual GC requests explicitly instead of returning an empty success report.
Also increase mito GC's default lingering time to 1h and update generated config docs and config API expectations.
Signed-off-by: discord9 <discord9@163.com >
2026-07-09 10:09:37 +00:00
discord9
149b687a92
fix: preserve repartitioned file refs during GC ( #8445 )
...
* fix: preserve repartitioned file refs during GC
Signed-off-by: discord9 <discord9@163.com >
* refactor: clarify file refs target region
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-08 08:33:02 +00:00