63ef18a74a
chore: pick fixes and bump version to v1.1.3 ( #8545 )
...
* fix(query): push down PromQL cast filters (#8407 )
* fix(query): push down PromQL cast filters
Signed-off-by: discord9 <discord9@163.com >
* test(query): cover cast preimage pushdown
Signed-off-by: discord9 <discord9@163.com >
* test(query): expand cast preimage coverage
Signed-off-by: discord9 <discord9@163.com >
* test(query): compare cast normalization rules
Signed-off-by: discord9 <discord9@163.com >
* test(query): update cast pushdown sqlness plans
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
(cherry picked from commit 4f5dccf6bb )
* fix: update datafusion-pg-catalog (#8417 )
(cherry picked from commit 434e0c7682 )
* fix: global limit for distributed inspect streams (#8412 )
* fix: global limit for distributed inspect streams
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: honor tighter filter fetch under global limit
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: restore distribution after global limit
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: preserve inherited distribution for global limit
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: propagate inherited hash partitioning
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
(cherry picked from commit 5bcc2e9d6b )
* feat: update dashboard to v0.13.7 (#8431 )
(cherry picked from commit ebfe4f6eb2 )
* 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 >
(cherry picked from commit 149b687a92 )
* fix: repartition subset partition key joins (#8460 )
Signed-off-by: discord9 <discord9@163.com >
(cherry picked from commit ff2fa71d50 )
* 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 >
(cherry picked from commit 99235e4b2d )
* feat: skip oversized compaction tasks (#8466 )
fix: skip oversized compaction tasks
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
(cherry picked from commit 0fcf61c3fb )
* feat: use scan output bytes for read costing (#8276 )
* feat: track scan output bytes and use them for read costing
Track the actual byte count of each record batch produced by
`RegionScanExec` and use it in place of the aggregated per-plan
`memory_usage` as the `table_scan` cost input. This avoids double
counting bytes that flow through multiple operators.
A named constant `REGION_SCAN_EXEC_NAME` exposes the plan node name
so downstream metric parsers remain correct if the struct is renamed.
Affected files:
- `src/table/src/table/metrics.rs` -- add `output_bytes` counter
- `src/table/src/table/scan.rs` -- record bytes, export name constant
- `src/query/src/dist_plan/merge_scan.rs` -- consume scan bytes
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor: remove misleading `mem_used` gauge from scan metrics
The `mem_used` gauge was used with `add()` on every output batch, but a
RegionScan does not hold memory across polls — each batch is yielded
immediately to the upstream operator. The gauge semantics were
incorrect (cumulative `add()` on a gauge) and the value duplicated
`output_bytes` anyway.
Affected files:
- `src/table/src/table/metrics.rs` — drop `mem_used` field and methods
- `src/table/src/table/scan.rs` — remove `record_mem_usage` call
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: use stable plan names for scan byte metrics
Expose `plan_name` alongside rendered plan text so scan byte extraction no longer depends on EXPLAIN formatting. Keep old serialized metrics compatible by defaulting missing `plan_name`.
Affected files:
- `src/common/recordbatch/src/adapter.rs` -- add `plan_name` to `PlanMetrics` and populate it from `ExecutionPlan::name`
- `src/query/src/dist_plan/merge_scan.rs` -- match `REGION_SCAN_EXEC_NAME` through `plan_name`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: preserve merge scan CPU read cost
Record read cost whenever stream metrics are available, default scan bytes to zero, and aggregate scan output bytes across region scan nodes.
Files: `src/query/src/dist_plan/merge_scan.rs`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: correct doc comment in `StreamMetrics`
Fix doc comment on `StreamMetrics::new()` to reference the correct
struct name (`StreamMetrics`) instead of the old `MemoryUsageMetrics`.
- `src/table/src/table/metrics.rs` — fix struct name in doc comment
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
(cherry picked from commit 4373c77d35 )
* fix: account logical record batch slice memory (#8480 )
* fix: account logical record batch slice memory
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: account nested view payload memory
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* test: align scan memory expectation with logical size
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* refactor: name Arrow inline view limit
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: account visible list child memory
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: exclude null list child memory
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: exclude null struct child memory
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: account fixed-size list slices
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: limit scan accounting to flat slices
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* docs: clarify nested view accounting scope
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* perf: reduce view memory accounting overhead
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* chore: fix benchmark license header
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* perf: optimize view slice accounting
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* test: cover sliced mixed-null view accounting
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* refactor: narrow slice accounting to arrow buffers
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* docs: note view accounting assumption
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
(cherry picked from commit 9cde31a647 )
* 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 >
(cherry picked from commit b30765e5e9 )
* fix: reject out-of-range PostgreSQL numeric UInt64 (#8517 )
Signed-off-by: discord9 <discord9@163.com >
(cherry picked from commit d48f296144 )
* fix(log-store): deduplicate Kafka WAL multipart records (#8514 )
* fix(log-store): deduplicate Kafka WAL multipart records
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(log-store): preserve delayed Kafka WAL entry offsets
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(log-store): reject conflicting Kafka WAL last records
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(log-store): emit Kafka WAL entries on last record
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(log-store): discard duplicate Kafka WAL first records
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 912db22417 )
* fix: apply log query limit after expressions (#8496 )
Signed-off-by: discord9 <discord9@163.com >
(cherry picked from commit 1122d1e7d7 )
* fix(query): delegate merge sort cardinality effect (#8532 )
Signed-off-by: discord9 <discord9@163.com >
(cherry picked from commit 887fdf7513 )
* fix: upgrade datafusion fork (#8438 )
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
(cherry picked from commit f12a1da3de )
* chore: bump version
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: discord9 <discord9@163.com >
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
Co-authored-by: discord9 <discord9@163.com >
Co-authored-by: Ning Sun <sunng@protonmail.com >
Co-authored-by: jeremyhi <jiachun_feng@proton.me >
Co-authored-by: sun <sunchang_long@163.com >
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
v1.1.3
2026-07-17 11:30:08 +08:00
shuiyisong
0783225e0b
chore: make OTLP trace ingest chunk size configurable ( #8455 ) ( #8468 )
...
chore: make OTLP trace ingest chunk size configurable (#8455 )
* chore: expose trace chunk to config
* chore: change default value to 128
* fix: cr issue
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-07-10 16:13:06 +08:00
8ad2d2414c
chore: pick fixes and bump version to v1.1.2 ( #8404 )
...
* fix: improve Grafana metrics dashboards (#8298 )
* chore: initial changes
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: improve troubleshooting dashboard
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: rm troubleshooting-dashboard.md
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: optimize metrics dashboard
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: move troubleshooting-dashboard.md
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: move mito gc duration panel
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: cleanup the dashboard
- Overview trend panels are now aggregate-only:
- Total Ingestion Rate Trend
- Total Query Rate Trend
- Protocol breakdowns remain in Ingestion and Queries.
- Mito Backpressure and Failures no longer duplicates scan/GC signals.
- Removed Write Stall per Instance.
- Split Object Store and WAL into collapsed Object Store and collapsed
WAL.
- Moved WAL/logstore panels out of Storage into WAL.
- Normalized OpenDAL “other request” matchers.
- Normalized trigger elapsed p99/p75/avg aggregation.
- Regenerated standalone JSON and dashboard YAML/Markdown.
- Updated docs/troubleshooting-dashboard.md.
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: rearrange metasrv dashboard panels
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: improve troubleshooting dashboard layout
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: remove obsolete troubleshooting dashboard doc
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: correct cluster dashboard panel queries (missing _bucket, raw counters, rate normalization)
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: correct trigger panel datasource, collapse flush/compaction, split request latency panels
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: update grafana metrics dashboard panels
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: correct Grafana dashboard units
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: regenerate Grafana dashboards
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: use throughput unit for index IO bytes
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: redact Kafka SASL password in debug output (#8337 )
## Summary
- Mask `KafkaClientSaslConfig` password fields in debug output while keeping usernames visible.
- Cover metasrv WAL debug output with a regression test.
## Files
- `src/common/wal/src/config/kafka/common.rs`
- `src/common/wal/src/config.rs`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(query): run optimizer rules before MergeScan (#8339 )
* fix(query): push down join filters before MergeScan
Signed-off-by: discord9 <discord9@163.com >
* fix(query): run optimizer before MergeScan pushdown
Signed-off-by: discord9 <discord9@163.com >
* fix(query): narrow pre-MergeScan filter pushdown
Signed-off-by: discord9 <discord9@163.com >
* fix(query): refine pre-MergeScan optimizer prepass
Signed-off-by: discord9 <discord9@163.com >
* fix(query): satisfy predicate extractor clippy
Signed-off-by: discord9 <discord9@163.com >
* test(query): cover pre-MergeScan optimizer edges
Signed-off-by: discord9 <discord9@163.com >
* test(query): cover set comparison prepass
Signed-off-by: discord9 <discord9@163.com >
* fix(query): guard remote scan filter pushdown
Signed-off-by: discord9 <discord9@163.com >
* fix(query): preserve subquery planning errors
Signed-off-by: discord9 <discord9@163.com >
* fix(query): preserve usable scan predicates
Signed-off-by: discord9 <discord9@163.com >
* fix(query): simplify scan predicate extraction
Signed-off-by: discord9 <discord9@163.com >
* fix(query): keep scan filter extraction scoped
Signed-off-by: discord9 <discord9@163.com >
* docs(query): explain pre-MergeScan optimizer
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: preserve bulk write grpc error details (#8349 )
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: include index files in GC listing (#8327 )
* fix: include index files in GC listing
Signed-off-by: discord9 <discord9@163.com >
* chore: filter GC index listing to puffins
Signed-off-by: discord9 <discord9@163.com >
* chore: simplify GC index listing stream
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: stream tables for prometheus label discovery (#8341 )
Signed-off-by: Ritwij Aryan Parmar <ritwij.aryan.parmar@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: account parquet metadata cache size (#8368 )
* fix: account parquet metadata cache size
Use Parquet metadata memory sizing for SST metadata cache weight and add regression coverage for byte-array page-index buffers.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: saturate sst meta cache weight
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: respect gc mailbox timeout for admin gc (#8363 )
Signed-off-by: discord9 <discord9@163.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: record catalog and schema in slow queries (#8387 )
* fix: record catalog and schema in slow queries
Add catalog and schema context to slow query records while appending the new columns after existing fields to preserve column order.
- `src/common/frontend/src/slow_query_event.rs`: extend `SlowQueryEvent` schema and rows with `catalog_name` and `schema_name`, and cover append-only ordering.
- `src/catalog/src/process_manager.rs`: carry catalog and schema through `SlowQueryTimer`.
- `src/frontend/src/instance.rs`: capture context for SQL, plan, and PromQL slow query timers.
- `tests-integration/tests/sql.rs`: assert MySQL and PostgreSQL slow query records include catalog and schema.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: address slow query review comment
Use `String::clone` when writing slow query catalog and schema values.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: keep slow query schema only
Remove the slow query `catalog_name` column and keep `schema_name` as a non-null tag dimension.
- `src/common/frontend/src/slow_query_event.rs`: expose only `schema_name` in `SlowQueryEvent` rows and mark it as a tag.
- `src/catalog/src/process_manager.rs`: stop carrying catalog context in `SlowQueryTimer`.
- `src/frontend/src/instance.rs`: pass only schema context to slow query timers.
- `tests-integration/tests/sql.rs`: assert slow query records include `schema_name` without `catalog_name`.
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: schema name semantic should be field
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: typo
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
---------
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: invalidate comment DDL cache and lock by object ID (#8390 )
* fix: invalidate comment ddl cache locally
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix typos
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: client_ip error logs skip internal API (#8362 )
* chore: client_ip error logs skip internal API
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: fmt
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: use const
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: use const
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: update dashboard to v0.13.6 (#8369 )
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: use ENV for building dashboard (#8384 )
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: handle PromQL time binary aggregation (#8398 )
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* perf(mito): prune files by manifest time range (#8352 )
* perf(mito): prune files by manifest time range
Signed-off-by: discord9 <discord9@163.com >
* chore(mito): address file pruning review
Signed-off-by: discord9 <discord9@163.com >
* chore(mito): remove verbose file pruning log
Signed-off-by: discord9 <discord9@163.com >
* chore(mito): expose file pruning metric
Signed-off-by: discord9 <discord9@163.com >
* chore(mito): shorten file pruning metric
Signed-off-by: discord9 <discord9@163.com >
* test(mito): cover file pruning edge cases
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* perf(mito): skip manifest-pruned file ranges (#8366 )
* perf(mito): skip manifest-pruned file ranges
Signed-off-by: discord9 <discord9@163.com >
* test(mito): allow empty prune benchmark output
Signed-off-by: discord9 <discord9@163.com >
* fix(mito): avoid caching stale pruned builders
Signed-off-by: discord9 <discord9@163.com >
* chore(mito): address pruner clippy
Signed-off-by: discord9 <discord9@163.com >
* fix(mito): account worker pruner builder metrics
Signed-off-by: discord9 <discord9@163.com >
* test(mito): keep empty prune benchmark local
Signed-off-by: discord9 <discord9@163.com >
* refactor(mito): share manifest-pruned range skip
Signed-off-by: discord9 <discord9@163.com >
* chore(mito): shorten prune cache comment
Signed-off-by: discord9 <discord9@163.com >
* fix(mito): keep manifest prune state in pruner
Signed-off-by: discord9 <discord9@163.com >
* test(mito): cover manifest prune fast skip edge cases
Signed-off-by: discord9 <discord9@163.com >
* chore: fix typo in logical table alter
Signed-off-by: discord9 <discord9@163.com >
* chore(mito): address pruner review comments
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: bump version to v1.1.2
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
Signed-off-by: WenyXu <wenymedia@gmail.com >
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
Signed-off-by: discord9 <discord9@163.com >
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
Signed-off-by: Ritwij Aryan Parmar <ritwij.aryan.parmar@gmail.com >
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
Co-authored-by: discord9 <discord9@163.com >
Co-authored-by: jeremyhi <jiachun_feng@proton.me >
Co-authored-by: Ritwij Aryan Parmar <88580521+RitwijParmar@users.noreply.github.com >
Co-authored-by: shuiyisong <113876041+shuiyisong@users.noreply.github.com >
Co-authored-by: sun <sunchang_long@163.com >
v1.1.2
2026-07-02 21:21:19 +08:00
discord9
88fa784810
fix(flow): bind scheduled now in dist plan ( #8396 )
...
* fix(flow): bind scheduled now in dist plan (#8389 )
Signed-off-by: discord9 <discord9@163.com >
(cherry picked from commit 5f6b88b782 )
* fix: correct physical table id typo
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-02 10:55:49 +08:00
Yingwen and discord9
4071cb56ae
feat(flow): stabilize eval interval scheduling ( #8360 ) ( #8378 )
...
* feat(flow): stabilize eval interval scheduling
* fix(flow): satisfy eval schedule clippy
* test(flow): trim eval schedule coverage
* test(flow): cover stable eval scheduling
* fix(flow): reserve scheduled runtime hint
* test(flow): trim sqlness result eof
* fix(flow): harden eval schedule edges
* fix(flow): address scheduled flow review
* fix(flow): clean scheduled config handling
* test(flow): add eval interval compat case
* test(flow): cover show create flow in compat
* fix(flow): drop scheduled time from flow context
* test(flow): assert scheduled now binding
---------
Signed-off-by: discord9 <discord9@163.com >
Signed-off-by: evenyag <realevenyag@gmail.com >
Co-authored-by: discord9 <discord9@163.com >
2026-06-29 21:27:22 +08:00
126c212546
chore: pick fixes and bump version to v1.1.1 ( #8332 )
...
* fix: remove flow sink table lock (#8317 )
Signed-off-by: discord9 <discord9@163.com >
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: guard structured JSON alignment paths against legacy JSONB columns (#8323 )
* Initial plan
* fix: guard structured json alignment to fix Clippy CI failure
- Add `is_structured_json_field` function that only returns true for
fields with both JSON extension type AND Struct Arrow data type
- Replace all usages of `is_json_extension_type` / `has_json_extension_field`
with `is_structured_json_field` to prevent legacy JSONB binary columns
from entering structured JSON alignment paths
- Fix logic in `FlatProjectionMapper::new_with_read_columns` to guard
JSON type hint concretization for JSON2 columns only
- Fix `create_column` in show_create_table.rs to only emit JSON structure
settings for JSON2 columns
- Move `mod tests` to end of flat_projection.rs to fix clippy::items_after_test_module
- Add tests for legacy JSON behavior
* fix: guard narrow_read_columns_by_json_type_hint with is_structured_json_field check
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: bump version to v1.1.1
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: discord9 <discord9@163.com >
Signed-off-by: evenyag <realevenyag@gmail.com >
Co-authored-by: discord9 <discord9@163.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
v1.1.1
2026-06-18 16:20:04 +08:00
dennis zhuang and Yingwen
c9062fe042
feat: add password hash generation command ( #8288 )
...
* feat: add password hash generation command
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: reject empty password in hash-password command
A blank plaintext password is rejected by the user provider before
verifier comparison, so a verifier generated from an empty password is
unusable. Fail fast on EOF or an empty line from --password-stdin (and on
an empty --password) instead of printing a dead verifier.
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
v1.1.0
v1.1.0-nightly-20260615
2026-06-12 13:28:38 +00:00
discord9
f6f56e6bc5
fix!: fence scoped flow repair snapshots ( #8277 )
...
* fix: fence scoped flow repair snapshots
Signed-off-by: discord9 <discord9@163.com >
* test: trim duplicate flow task tests
Signed-off-by: discord9 <discord9@163.com >
* test: moreless
Signed-off-by: discord9 <discord9@163.com >
* refactor: simplify flow query failure fallback
Signed-off-by: discord9 <discord9@163.com >
* test: update need eval interval
Signed-off-by: discord9 <discord9@163.com >
* docs: for helper fn
Signed-off-by: discord9 <discord9@163.com >
* chore: less test
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review
Signed-off-by: discord9 <discord9@163.com >
* test: update for eval interval
Signed-off-by: discord9 <discord9@163.com >
* fix: consume dirty windows after successful query
Signed-off-by: discord9 <discord9@163.com >
* test: rm useless tests
Signed-off-by: discord9 <discord9@163.com >
* test: standalone seq&rm dead if
Signed-off-by: discord9 <discord9@163.com >
* chore: move to pending window instead
Signed-off-by: discord9 <discord9@163.com >
* chore: mark full also call abandon_fenced_repair
Signed-off-by: discord9 <discord9@163.com >
* chore: instant for pending fenced repair
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-12 13:27:12 +00:00
Yingwen
4a4fe749d8
feat: add per-partition timings to merge scan partition metrics ( #8293 )
...
* feat: add per-partition timings to merge scan partition metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: stop global timers for partitions with no region
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-06-12 13:22:49 +00:00
Yingwen
d34d4c1aba
fix(mito): collect index apply metrics in pruner verbose mode ( #8290 )
...
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-06-12 11:29:18 +00:00
discord9
7ec89dcf80
test: redact dynamic filter in order_by sqlness ( #8286 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-06-12 11:14:27 +00:00
Weny Xu
1ca29c3481
feat: support create region requirements ( #8281 )
...
* feat: support create region requirements
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: require object storage for repartition creates
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: upgrade proto
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-06-12 11:12:41 +00:00
jeremyhi
34c4cae9bb
feat(cli): add import-v2 progress UI ( #8289 )
...
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-06-12 09:45:45 +00:00
Weny Xu
61f802cdf2
feat: support repartition with target partition columns ( #8278 )
...
* feat(sql): support repartition on columns syntax
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(meta): support repartition target partition columns
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(operator): wire repartition target columns
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(operator): validate repartition target columns
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: cover repartition on columns integration
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(operator): validate duplicate target partition columns
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: upgrade proto
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-06-12 07:36:53 +00:00
jeremyhi
c567a6562a
feat(cli): add import-v2 progress mode ( #8283 )
...
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-06-12 06:13:27 +00:00
Yingwen
770dca45a4
fix: pin tonic below 0.14.5 to avoid max connection age panic ( #8265 ) ( #8287 )
...
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-06-12 05:46:55 +00:00
Ning Sun
ba89ef40f4
feat: add field_id for internal fields ( #8284 )
...
* feat: add field_id for internal fields
* test: address file size change after including field ids
* fix: address review comments
2026-06-12 03:10:24 +00:00
Ning Sun
827b904189
feat: flush hook extension point ( #8145 )
...
* feat: introduce flush and compaction hook
* feat: update hook definitions
* chore: fmt
* fix: address review comments
* feat: remove primary key collection
* fix: revert changes on flatsource
* feat: load plugins for metasrv http builder
* chore: resolve compilation issue
* feat: load manifest version from compaction task
* feat: use region_hook to cover all possible cases
* chore: fmt
* refactor: improve lock
* fix: provide plugins for open region of remote compactor; catch manifest update in exit staging
* fix: avoid lock when calling hook
* fix: add backfill hook change calling
2026-06-12 01:53:54 +00:00
dennis zhuang
ab552e24b5
feat(security): add password verifier formats ( #8251 )
...
* feat: add password verifier formats
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: harden password verifier parsing and auth config errors
- Reject pbkdf2_sha256 verifiers whose hash is not 32 bytes and bound the
salt length, preventing short-hash verifiers from matching on a prefix.
- Verify pbkdf2_sha256 with a stack-allocated buffer.
- Report only the length, not the bytes, when a mysql native password
verifier has an illegal length.
- Map empty frontend_auth credentials to an invalid-config error instead
of an internal error.
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: update config.md
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: skip non-plain verifiers in get_one_user_pwd
Pick the first plain-text credential instead of failing when the first
user happens to hold a hashed verifier.
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: format
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: remove unused get_one_user_pwd
Internal flownode-to-frontend communication no longer authenticates
(see #8244 ), so the plain-text credential export path is dead code.
Drop get_one_user_pwd, its now-orphan as_plain_text helper, and the
related tests.
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2026-06-12 01:23:44 +00:00
discord9
2febea6ec3
test: add rebuild index coverage ( #8175 )
...
* test: basic rebuild index test
Signed-off-by: discord9 <discord9@163.com >
* test: address rebuild index review comments
Signed-off-by: discord9 <discord9@163.com >
* test: update build index restart expected output
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-11 14:03:24 +00:00
discord9
3608c90b2e
feat: pass snapshot read bounds over flight ( #8279 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-06-11 12:05:02 +00:00
LFC
d76ecf67bd
refactor: skip prefilter for expr with functions ( #8280 )
...
Signed-off-by: luofucong <luofc@foxmail.com >
2026-06-11 09:48:12 +00:00
Yingwen
340f22f301
chore: load page index in opener ( #8269 )
...
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-06-11 09:09:18 +00:00
Lanqing Yang
565899e482
perf(mito): cached-size single-pass WAL entry encoder ( #8254 )
...
prost has no size caching, so WalEntry::encode_to_vec recomputes the
encoded_len of every nested message for each length delimiter. In the deep
WAL tree (WalEntry/Mutation/Rows/Row/Value) a leaf Value's length is
recomputed once per ancestor level (~5x).
Add WalEntryEncoder: one size pass caches every message body length into a
flat vector (pre-order), one encode pass writes bytes reading the cached
lengths back via a cursor, so each length is computed exactly once. Leaf
messages (Value, ColumnSchema, WriteHint, BulkWalEntry) delegate their body
encoding to prost but have their single computed length cached.
Output is byte-for-byte identical to encode_to_vec (asserted in tests
covering delete op_type, null values, empty entry, encoder reuse), which is
required for WAL replay compatibility. Wired into WalWriter::add_entry,
reused per write batch.
This compensates for prost lacking a cached_size mechanism and can be
removed if such caching lands upstream.
Signed-off-by: lyang24 <lanqingy93@gmail.com >
2026-06-11 08:50:36 +00:00
LFC
92a915b5a0
feat: json2 field access pushdown to parquet ( #8267 )
...
* feat: json2 field access pushdown to parquet
Signed-off-by: luofucong <luofc@foxmail.com >
* resolve PR comments
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-06-11 02:10:30 +00:00
dennis zhuang
ca21c9f048
fix!: correct information_schema index metadata ( #8275 )
...
fix: correct information_schema index metadata
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2026-06-11 01:36:23 +00:00
discord9
8fc5a3b1c7
feat: apply remote dynamic filters on datanode scans ( #8262 )
...
* feat: apply rdf
Signed-off-by: discord9 <discord9@163.com >
* chore: clippy
Signed-off-by: discord9 <discord9@163.com >
* fix: drop remote dyn filter fallback exec
Signed-off-by: discord9 <discord9@163.com >
* Revert "fix: drop remote dyn filter fallback exec"
This reverts commit bb757a596c3c2c078a836aa623226b7934103634.
Signed-off-by: discord9 <discord9@163.com >
* refactor: use rdf receiver logical plan instead
Signed-off-by: discord9 <discord9@163.com >
* test: update sqlness
Signed-off-by: discord9 <discord9@163.com >
* feat: rdf disable option
Signed-off-by: discord9 <discord9@163.com >
* tests: large int tests
Signed-off-by: discord9 <discord9@163.com >
* chore: clippy
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review
Signed-off-by: discord9 <discord9@163.com >
* test: update prec fix
Signed-off-by: discord9 <discord9@163.com >
* fix: make receiver node works
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review
Signed-off-by: discord9 <discord9@163.com >
* fix: tql disable rdf
Signed-off-by: discord9 <discord9@163.com >
* chore: rm useless joins
Signed-off-by: discord9 <discord9@163.com >
* fix: also disable in flow tql
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review rm to promql
Signed-off-by: discord9 <discord9@163.com >
* chore: promql ut
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
* test: rm misleading&add some nested/cleanup
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-10 12:57:23 +00:00
jeremyhi and fengjiachun
0a2dc6d3f2
feat(cli): add export import progress abstraction ( #8270 )
...
Signed-off-by: fengjiachun <3860496+fengjiachun@users.noreply.github.com >
Co-authored-by: fengjiachun <3860496+fengjiachun@users.noreply.github.com >
2026-06-10 11:35:32 +00:00
Weny Xu
10074f04a6
fix(ci): retry repartition chaos row validation ( #8271 )
...
fix: retry repartition chaos row validation
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-06-10 11:13:37 +00:00
LFC
270dce5ed7
feat: decouple region edit and compaction ( #8272 )
...
* feat: decouple region edit and compaction
Signed-off-by: luofucong <luofc@foxmail.com >
* make `schedule_compaction_after_edit` default to `true`
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-06-10 09:56:11 +00:00
LFC
962990009c
ci: notify jsonbench result ( #8273 )
...
Signed-off-by: luofucong <luofc@foxmail.com >
2026-06-10 08:51:37 +00:00
Weny Xu
05c4588f90
feat: support remote WAL logical pruning ( #8259 )
...
* feat: support logical deletion for remote WAL pruning
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: trigger remote WAL flush for lagging prunable regions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: use from_mins
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-06-10 04:40:51 +00:00
jeremyhi
6ceae4498f
refactor(cli): stream export-v2 verify data listing ( #8268 )
...
Signed-off-by: fengjiachun <fengjiachun@gmail.com >
2026-06-10 02:59:27 +00:00
Lei, HUANG
e74a73638d
feat: separate datanode query and ingestion runtimes ( #8246 )
...
* feat: add datanode runtime options
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat: add datanode runtime handles
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor: wire datanode runtimes into region server
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat: route datanode ingestion to ingestion runtime
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat: add datanode query runtime stream bridge
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat: route datanode reads to query runtime
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat: add datanode global runtimes
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor: use common datanode runtimes
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat: run mito scan tasks on query runtime
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor: split datanode runtime options
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: clippy
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: share global fallback for datanode runtimes
Use the global runtime as the fallback for datanode query and ingestion
runtimes when datanode-specific pools are not initialized. This avoids
creating unused datanode worker pools in non-datanode services.
Files:
- `src/common/runtime/src/global.rs`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: docs
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: forward query runtime stream metrics
Forward inner stream metrics through the datanode query runtime bridge so
`EXPLAIN ANALYZE` can report plan metrics after stream polling moves to the
query runtime.
Files:
- `src/datanode/src/query_stream.rs`
- `src/datanode/src/region_server.rs`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: route metric batch puts to ingest runtime
Run the optimized metric batch put path on the datanode ingest runtime so
metric ingestion does not bypass runtime isolation.
Files:
- `src/datanode/src/region_server.rs`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: abort query producer on stream drop
Abort the datanode query runtime producer when the returned read stream is
dropped so cancelled clients do not leave query work running in the
background.
Files:
- `src/datanode/src/query_stream.rs`
- `src/datanode/src/region_server.rs`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor: simplify query stream bridge setup
Create the inner read stream before spawning the datanode query runtime
producer so setup does not use an extra task and initialization channel.
Files:
- `src/datanode/src/region_server.rs`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/runtime-priority:
### Update Datanode Runtime Options and Region Server Logic
- **`global.rs`**: Adjusted `datanode_ingest_rt_size` to utilize all available CPUs for improved performance.
- **`region_server.rs`**: Simplified the collection of `put_requests` and optimized the `put_regions_batch` call for better efficiency.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/runtime-priority:
### Remove Redundant Checks and Simplify Code
- **`global.rs`**: Removed the assertion check for already initialized global runtimes to streamline the initialization process.
- **`region_server.rs`**: Simplified the extraction of `Put` requests by removing unnecessary cloning and restructuring the iterator logic.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: remove redundant spawn_datanode_query in RegionServer::handle_read
The outer `spawn_datanode_query` wrapped `handle_read_inner` on the
same runtime, creating a nested spawn that consumed query runtime
threads unnecessarily under concurrent read load. The gRPC handler
already provides runtime isolation, so the inner call is sufficient.
- `src/datanode/src/region_server.rs` — inline `handle_read_inner`
directly instead of spawning onto the datanode query runtime
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: resolve test mismatch and redundant spawn in handle_remote_read
- `src/common/runtime/src/global.rs` — update test assertion to match
default `datanode_ingest_rt_size` of `cpus` instead of `1`
- `src/datanode/src/region_server.rs` — inline `handle_remote_read_inner`
directly instead of spawning onto the datanode query runtime
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor: rename datanode runtimes
Summary:
- Rename datanode runtime APIs from `datanode_query` and `datanode_ingest` to `query` and `ingest`.
- Rename runtime config keys from `datanode_query_rt_size` and `datanode_ingest_rt_size` to `query_rt_size` and `ingest_rt_size`.
- Update config docs, example config, and config-loading coverage.
Files:
- `src/common/runtime/src/global.rs`
- `src/common/runtime/src/lib.rs`
- `src/cmd/tests/load_config_test.rs`
- `src/datanode/src/region_server.rs`
- `src/mito2/src/read/pruner.rs`
- `src/mito2/src/read/range_cache.rs`
- `src/mito2/src/read/scan_region.rs`
- `src/mito2/src/read/series_scan.rs`
- `config/datanode.example.toml`
- `config/config.md`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor: consolidate runtime options
Summary:
- Embed datanode runtime sizes in shared `RuntimeOptions` and remove the extra `GreptimeOptions` runtime type parameter.
- Use the unified `RuntimeOptions` for datanode global and datanode-specific runtime initialization.
- Update datanode runtime config coverage and ingest runtime default documentation.
Files:
- `src/common/runtime/src/global.rs`
- `src/common/runtime/src/lib.rs`
- `src/cmd/src/options.rs`
- `src/cmd/src/datanode.rs`
- `src/cmd/src/datanode/builder.rs`
- `src/cmd/tests/load_config_test.rs`
- `config/datanode.example.toml`
- `config/config.md`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat: guard against double initialization of datanode runtimes
Add an assertion in `init_datanode_runtimes` to panic when global runtimes
are already initialized, preventing silent overwrites.
- `src/common/runtime/src/global.rs` — assert guard in `init_datanode_runtimes`
and test `test_set_datanode_runtimes_panics_after_global_runtimes_initialized`
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2026-06-09 08:21:50 +00:00
Yingwen
1451a51ea0
feat: add tools for development ( #8260 )
...
* feat(cmd): add dev-tools binary with parquetbench command
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: add feature gate dev-tools
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat(dev-tools): print output column count in parquetbench
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat(dev-tools): print output schema in parquetbench
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor(cmd): move parquetbench into datanode CLI, drop dev-tools binary
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(dev-tools): validate pprof-after-warmup requires >=2 iterations
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(dev-tools): use absolute path instead of super:: import in parquetbench
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(dev-tools): base parquetbench throughput on scanned row-group bytes
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-06-09 08:12:21 +00:00
shuiyisong
fc653c84c8
refactor: loki ingestion ( #8266 )
...
* refactor: loki ingestion
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: clippy
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-06-09 07:53:45 +00:00
jeremyhi
1e53b1a157
fix(config): align scan memory limit default with code ( #8228 )
...
* fix(config): align scan memory limit default with code
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: by AI comments
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-06-08 14:01:48 +00:00
discord9
1c7b4c11fc
fix(flow): support complex SQL full-query flows ( #8242 )
...
* fix(flow): skip TWE detection for complex plans
Signed-off-by: discord9 <discord9@163.com >
* chore: helper
Signed-off-by: discord9 <discord9@163.com >
* fix(flow): allow SQL CTE flow parsing
Signed-off-by: discord9 <discord9@163.com >
* fix(flow): execute unscoped SQL snapshots as SQL
Signed-off-by: discord9 <discord9@163.com >
* fix: column list
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-08 13:07:43 +00:00
dennis zhuang
e403133eb2
feat: add information_schema statistics table ( #8253 )
...
* feat: add information_schema statistics table
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: use index-local sequence in statistics
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: ordinal_position for pk
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: statistics.nullable uses empty string for non-nullable columns
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2026-06-08 12:52:02 +00:00
Copilot
38909d6ddf
chore: Increase GreptimeDB cluster setup timeout for distributed fuzz CI ( #8263 )
...
Increase GreptimeDB cluster setup timeout
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-06-08 11:30:14 +00:00
Weny Xu
9a814ca123
chore: add repartition debug logs ( #8245 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-06-08 08:48:23 +00:00
discord9
651cf04525
feat: fan out remote dynamic filter updates from FE ( #8241 )
...
* feat: fe send update
Signed-off-by: discord9 <discord9@163.com >
* refactor: after rebase
Signed-off-by: discord9 <discord9@163.com >
* fix: encode at least send bounds
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-08 08:24:57 +00:00
shuiyisong
5fd5b91b29
chore: remove auth in flownode ( #8244 )
...
* chore: remove auth in flownode
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: update docs
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add flow startup check
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: clippy
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-06-08 08:15:19 +00:00
Ning Sun
0881b7ba32
feat: pgwire 0.40 ( #8257 )
2026-06-08 07:31:08 +00:00
Ning Sun
fd64ced4da
feat: introduce plugin setup functions with richer context ( #8256 )
...
feat: enrich plugin setup context
2026-06-08 06:53:08 +00:00
Lei, HUANG
e7ce3ac0c7
fix: accept JSONB OTLP logs against existing schema ( #8250 )
...
* fix: accept JSONB OTLP logs against existing schema
Handle existing OTLP log JSONB columns that round-trip as Json while direct log rows carry pre-encoded binary JSONB payloads.
Add integration coverage for repeated OTLP log batches after table auto-creation.
Files: src/servers/src/otlp/logs.rs, tests-integration/tests/http.rs
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* perf: cache OTLP log JSONB schema check
Cache whether an existing OTLP log column is legacy JSONB once per column before coercing rows.
Files: src/servers/src/otlp/logs.rs
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: narrow down schema coercion
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2026-06-08 01:57:23 +00:00
Weny Xu
7baa4f6854
fix: reset region detector after migration ( #8234 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-06-05 09:14:13 +00:00
Ruihang Xia
428cd8137d
feat: identify noneffective binary modifiers ( #8230 )
...
* perf(promql): use tsid for full-label modifier joins
* fix(promql): collect narrow range joins by tsid
* verify on for both sides
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* check if tsid exists
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* correct behavior
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-06-05 08:44:50 +00:00
Yingwen
8e5c34aa75
ci: revert arm64 runner default to 4xlarge ( #8243 )
...
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-06-05 08:31:13 +00:00
Yingwen
f580c42a1f
perf: read primary key as binary if it overflows the dictionary ( #8187 )
...
* perf(mito2): read __primary_key as binary when chunk exceeds dict page limit
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito2): handle binary __primary_key column in prefilter
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito2): align prefilter binary PK test with eval_pk_group_mask
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-06-05 08:19:35 +00:00