discord9
7199823be9
chore: rename to avoid git reserved name ( #7359 )
...
rename to avoid reserved name
Signed-off-by: discord9 <discord9@163.com >
v1.0.0-beta.2-8af1ab0ff-20251208-1765190404
2025-12-08 04:01:25 +00:00
Ruihang Xia
60f752d306
feat: run histogram quantile in safe mode for incomplete data ( #7297 )
...
* initial impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sqlness test and fix
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* correct sqlness case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplification
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* refine code and comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-05 09:19:21 +00:00
Ruihang Xia
edb1f6086f
feat: decode pk eagerly ( #7350 )
...
* feat: decode pk eagerly
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* merge primary_key_codec and decode_primary_key_values
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-05 09:11:51 +00:00
discord9
1ebcef4794
chore: rm unnecessary warning ( #7352 )
...
Signed-off-by: discord9 <discord9@163.com >
2025-12-05 03:44:45 +00:00
Ning Sun
2147545c90
fix: regression with shortcutted statement on postgres extended query ( #7340 )
...
* fix: regression with shortcutted statement on postgres extended query
* chore: typo fix
* feat: also add more type support for parameters
* chore: remove dbg print
2025-12-05 02:08:23 +00:00
Yingwen
84e4e42ee7
feat: add more verbose metrics to scanners ( #7336 )
...
* feat: add inverted applier metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add metrics to bloom applier
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add metrics to fulltext index applier
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: implement BloomFilterReadMetrics for BloomFilterReader
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect read metrics for inverted index
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add metrics for range_read and metadata
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: rename elapsed to fetch_elapsed
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect metadata fetch metrics for inverted index
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect cache metrics for inverted and bloom index
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect read metrics in appliers
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect fulltext dir metrics for applier
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect parquet row group metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add parquet metadata metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add apply metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect more metrics for memory row group
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add fetch metrics to ReaderMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: init verbose metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: debug print metrics in ScanMetricsSet
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: implement debug for new metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix compiler errors
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: update parquet fetch metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect the whole fetch time
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add file_scan_cost
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: parquet fetch add cache_miss counter
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: print index read metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: use actual bytes to increase counter
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: remove provided implementations for index reader traits
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: change get_parquet_meta_data() method to receive metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: rename file_scan_cost to sst_scan_cost
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: refine ParquetFetchMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fix clippy
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fmt code
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: remove useless inner method
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: collect page size actual needed
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify InvertedIndexReadMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplfy InvertedIndexApplyMetrics Debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify BloomFilterReadMetrics Debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify BloomFilterIndexApplyMetrics Debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify FulltextIndexApplyMetrics implementation
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify ParquetFetchMetrics Debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: simplify MetadataCacheMetrics Debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: only print verbose metrics when they are not empty.
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: use mutex to protect ParquetFetchMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fmt code
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: use duration for elapsed in ParquetFetchMetricsData
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-12-04 13:40:18 +00:00
Yingwen
d5c616a9ff
feat: implement a cache for manifest files ( #7326 )
...
* feat: use cache in manifest store
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: use ManifestCache
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: clean empty manifest dir
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: get last checkpoint from cache
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add hit/miss counter for manifest cache
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: add logs
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: pass cache to ManifestObjectStore::new
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix compiler errors
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: cache checkpoint
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: cache checkpoint in write
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix compiler warnings
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: update config comment
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: manifest store cache for staging
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: move recover_inner to FileCacheInner
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: remove manifest cache config from MitoConfig
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: reduce clone when cache is enabled
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: do not cache staging manifests
We clean staging manifests by remove_all which isn't easy to clean
the cache in the same way
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: fix paths in manifest cache
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: don't clean dir if it is too new
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: reuse write cache ttl as manifest cache ttl
Signed-off-by: evenyag <realevenyag@gmail.com >
* style: fix clippy
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: clean all empty subdirectories
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-12-04 12:51:09 +00:00
discord9
f02bdf5428
test: gc worker scheduler mock test ( #7292 )
...
* feat: gc worker only on local region
Signed-off-by: discord9 <discord9@163.com >
feat: gc scheduler
wip: gc trigger
Signed-off-by: discord9 <discord9@163.com >
feat: dn file removal rate
Signed-off-by: discord9 <discord9@163.com >
feat: trigger gc with stats(WIP)
Signed-off-by: discord9 <discord9@163.com >
chore
Signed-off-by: discord9 <discord9@163.com >
also move files ref manifest to store-api
Signed-off-by: discord9 <discord9@163.com >
feat: basic gc trigger impl
Signed-off-by: discord9 <discord9@163.com >
wip: handle file ref change
Signed-off-by: discord9 <discord9@163.com >
refactor: use region ids
Signed-off-by: discord9 <discord9@163.com >
fix: retry using related regions
Signed-off-by: discord9 <discord9@163.com >
chore: rm unused
Signed-off-by: discord9 <discord9@163.com >
fix: update file reference type in GC worker
Signed-off-by: discord9 <discord9@163.com >
feat: dn gc limiter
Signed-off-by: discord9 <discord9@163.com >
rename
Signed-off-by: discord9 <discord9@163.com >
feat: gc scheduler retry with outdated regions
Signed-off-by: discord9 <discord9@163.com >
feat: use real object store purger
Signed-off-by: discord9 <discord9@163.com >
wip: add to metasrv
Signed-off-by: discord9 <discord9@163.com >
feat: add to metasrv
Signed-off-by: discord9 <discord9@163.com >
feat: datanode gc worker handler
Signed-off-by: discord9 <discord9@163.com >
fix: no partition col fix
Signed-off-by: discord9 <discord9@163.com >
fix: RegionId json deser workaround
Signed-off-by: discord9 <discord9@163.com >
fix: find access layer
Signed-off-by: discord9 <discord9@163.com >
fix: on host dn
Signed-off-by: discord9 <discord9@163.com >
fix: stat dedup
Signed-off-by: discord9 <discord9@163.com >
refactor: rm load-based
Signed-off-by: discord9 <discord9@163.com >
chore: aft rebase fix
Signed-off-by: discord9 <discord9@163.com >
feat: not full scan
Signed-off-by: discord9 <discord9@163.com >
chore: after rebase fix
Signed-off-by: discord9 <discord9@163.com >
feat: clean tracker
Signed-off-by: discord9 <discord9@163.com >
after rebase fix
Signed-off-by: discord9 <discord9@163.com >
clippy
Signed-off-by: discord9 <discord9@163.com >
refactor: split gc scheduler
Signed-off-by: discord9 <discord9@163.com >
feat: smaller linger time
Signed-off-by: discord9 <discord9@163.com >
feat: parallel region gc instr
Signed-off-by: discord9 <discord9@163.com >
chore: rename
Signed-off-by: discord9 <discord9@163.com >
chore: rename
Signed-off-by: discord9 <discord9@163.com >
enable is false
Signed-off-by: discord9 <discord9@163.com >
feat: update removed files precisely
Signed-off-by: discord9 <discord9@163.com >
all default to false&use local file purger
Signed-off-by: discord9 <discord9@163.com >
feat: not evict if gc enabled
Signed-off-by: discord9 <discord9@163.com >
per review
Signed-off-by: discord9 <discord9@163.com >
fix: pass gc config in mito&test: after truncate gc
Signed-off-by: discord9 <discord9@163.com >
WIP: one more test
Signed-off-by: discord9 <discord9@163.com >
test: basic compact
Signed-off-by: discord9 <discord9@163.com >
test: compact with ref
Signed-off-by: discord9 <discord9@163.com >
refactor: for easier mock
Signed-off-by: discord9 <discord9@163.com >
docs: explain race condition
Signed-off-by: discord9 <discord9@163.com >
feat: gc region procedure
Signed-off-by: discord9 <discord9@163.com >
refactor: ctx send gc/ref instr with procedure
Signed-off-by: discord9 <discord9@163.com >
fix: config deser to default
Signed-off-by: discord9 <discord9@163.com >
refactor: gc report
Signed-off-by: discord9 <discord9@163.com >
wip: async index file rm
Signed-off-by: discord9 <discord9@163.com >
fixme?
Signed-off-by: discord9 <discord9@163.com >
typo
Signed-off-by: discord9 <discord9@163.com >
more ut
Signed-off-by: discord9 <discord9@163.com >
test: more mock test
Signed-off-by: discord9 <discord9@163.com >
more
Signed-off-by: discord9 <discord9@163.com >
refactor: split mock test
Signed-off-by: discord9 <discord9@163.com >
clippy
Signed-off-by: discord9 <discord9@163.com >
refactor: rm stuff
Signed-off-by: discord9 <discord9@163.com >
test: mock add gc report per region
Signed-off-by: discord9 <discord9@163.com >
fix: stricter table failure condition
Signed-off-by: discord9 <discord9@163.com >
sutff
Signed-off-by: discord9 <discord9@163.com >
feat: can do different table gc same time&more todos
Signed-off-by: discord9 <discord9@163.com >
after rebase check
Signed-off-by: discord9 <discord9@163.com >
* chore
Signed-off-by: discord9 <discord9@163.com >
* chore
Signed-off-by: discord9 <discord9@163.com >
* wip: refactoring test
Signed-off-by: discord9 <discord9@163.com >
* fix: also get from follower peer
Signed-off-by: discord9 <discord9@163.com >
* test: update mock test
Signed-off-by: discord9 <discord9@163.com >
* revert some change&clean up
Signed-off-by: discord9 <discord9@163.com >
* typo
Signed-off-by: discord9 <discord9@163.com >
* chore: after rebase fix
Signed-off-by: discord9 <discord9@163.com >
* choer: more fix
Signed-off-by: discord9 <discord9@163.com >
* revert
Signed-off-by: discord9 <discord9@163.com >
* revert change to handler.rs
Signed-off-by: discord9 <discord9@163.com >
* test: fix mock test
Signed-off-by: discord9 <discord9@163.com >
* chore: rm retry
Signed-off-by: discord9 <discord9@163.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: discord9 <discord9@163.com >
* after rebase fix
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-04 12:00:25 +00:00
Ruihang Xia
f2288a86b0
perf: treat DISTINCT as comm/part-comm ( #7348 )
...
* perf: treat DISTINCT as comm/part-comm
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sqlness tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-04 11:14:00 +00:00
Ruihang Xia
9d35b8cad4
refactor: remove datafusion data frame wrapper ( #7347 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-04 09:38:41 +00:00
Weny Xu
cc99f9d65b
fix: configure HTTP/2 keep-alive for heartbeat client to detect network failures faster ( #7344 )
...
* fix: configure HTTP/2 keep-alive for heartbeat client to detect network failures faster
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-12-04 08:07:45 +00:00
Lei, HUANG
11ecb7a28a
refactor(servers): bulk insert service ( #7329 )
...
* refactor/bulk-insert-service:
refactor: decode FlightData early in put_record_batch pipeline
- Move FlightDecoder usage from Inserter up to PutRecordBatchRequestStream,
passing decoded RecordBatch and schema bytes instead of raw FlightData.
- Eliminate redundant per-request decoding/encoding in Inserter; encode
once and reuse for all region requests.
- Streamline GrpcQueryHandler trait and implementations to accept
PutRecordBatchRequest containing pre-decoded data.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/bulk-insert-service:
feat: stream-based bulk insert with per-batch responses
- Introduce handle_put_record_batch_stream() to process Flight DoPut streams
- Resolve table & permissions once, yield (request_id, AffectedRows) per batch
- Replace loop-over-request with async-stream in frontend & server
- Make PutRecordBatchRequestStream public for cross-crate usage
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/bulk-insert-service:
fix: propagate request_id with errors in bulk insert stream
Changes the bulk-insert stream item type from
Result<(i64, AffectedRows), E> to (i64, Result<AffectedRows, E>)
so every emitted tuple carries the request_id even on failure,
letting callers correlate errors with the originating request.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/bulk-insert-service:
refactor: unify DoPut response stream to return DoPutResponse
Replace the tuple (i64, Result<AffectedRows>) with Result<DoPutResponse>
throughout the gRPC bulk-insert path so the handler, adapter and server
all speak the same type.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/bulk-insert-service:
feat: add elapsed_secs to DoPutResponse for bulk-insert timing
- DoPutResponse now carries elapsed_secs field
- Frontend measures and attaches insert duration
- Server observes GRPC_BULK_INSERT_ELAPSED metric from response
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/bulk-insert-service:
refactor: unify Bytes import in flight module
- Replace `bytes::Bytes` with `Bytes` alias for consistency
- Remove redundant `ProstBytes` alias
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/bulk-insert-service:
fix: terminate gRPC stream on error and optimize FlightData handling
- Stop retrying on stream errors in gRPC handler
- Replace Vec1 indexing with into_iter().next() for FlightData
- Remove redundant clones in bulk_insert and flight modules
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/bulk-insert-service:
Improve permission check placement in `grpc.rs`
- Moved the permission check for `BulkInsert` to occur before resolving the table reference in `GrpcQueryHandler` implementation.
- Ensures permission validation is performed earlier in the process, potentially avoiding unnecessary operations if permission is denied.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/bulk-insert-service:
**Refactor Bulk Insert Handling in gRPC**
- **`grpc.rs`**:
- Switched from `async_stream::stream` to `async_stream::try_stream` for error handling.
- Removed `body_size` parameter and added `flight_data` to `handle_bulk_insert`.
- Simplified error handling and permission checks in `GrpcQueryHandler`.
- **`bulk_insert.rs`**:
- Added `raw_flight_data` parameter to `handle_bulk_insert`.
- Calculated `body_size` from `raw_flight_data` and removed redundant encoding logic.
- **`flight.rs`**:
- Replaced `body_size` with `flight_data` in `PutRecordBatchRequest`.
- Updated memory usage calculation to include `flight_data` components.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/bulk-insert-service:
perf(bulk_insert): encode record batch once per datanode
Move FlightData encoding outside the per-region loop so the same
encoded bytes are reused when mask.select_all(), eliminating redundant
serialisation work.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2025-12-04 07:08:02 +00:00
jeremyhi
2a760f010f
chore: members and committers update ( #7341 )
...
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2025-12-04 04:08:43 +00:00
jeremyhi
63dd37dca3
fix: reset cached channel on errors with VIP ( #7335 )
...
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2025-12-03 08:56:15 +00:00
Lei, HUANG
68fff3b1aa
refactor(servers): allow custom flight service ( #7333 )
...
* refactor/allow-custom-flight-service:
### Add Custom Flight Handler Support
- **`server.rs`**:
- Introduced a new field `flight_handler` in the `Services` struct to allow optional custom flight handler configuration.
- Added a method `with_flight_handler` to set the custom flight handler.
- Modified `build_grpc_server` to use the custom flight handler if provided, defaulting to `GreptimeRequestHandler` otherwise.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* refactor/allow-custom-flight-service:
### Make structs and enums public in `flight.rs`
- Changed visibility of `PutRecordBatchRequest` and `PutRecordBatchRequestStream` structs to public.
- Made `PutRecordBatchRequestStreamState` enum public.
- Updated fields within `PutRecordBatchRequest` and `PutRecordBatchRequestStream` to be public.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2025-12-03 03:01:59 +00:00
Weny Xu
0177f244e9
fix: fix write stall that never recovers due to flush logic issues ( #7322 )
...
* fix: fix write stall that never recovers due to flush logic issues
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit test
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: flush multiple regions when engine is full
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: refine fn name
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: simplify flush scheduler by removing flushing state
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
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 >
v1.0.0-beta.2
2025-12-02 12:48:41 +00:00
Lei, HUANG
931556dbd3
perf(metric-engine)!: Replace mur3 with fxhash for faster TSID generation ( #7316 )
...
* feat/change-tsid-gen:
perf(metric-engine): replace mur3 with fxhash for faster TSID generation
- Switches from mur3::Hasher128 to fxhash::FxHasher for TSID hashing
- Pre-computes label-name hash when no nulls are present, avoiding redundant work
- Adds fast-path for rows without nulls; falls back to slow path otherwise
- Updates Cargo.toml and lockfile to reflect dependency change
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/change-tsid-gen:
fix: only check primary-key labels for null when re-using cached hash
- Rename has_null() → has_null_labels() and restrict the check to the
primary-key columns so that non-label NULLs do not force a full
TSID re-computation.
- Update expected hashes in tests to match the new logic.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/change-tsid-gen:
test: add comprehensive TSID generation tests for label ordering and null handling
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/change-tsid-gen:
bench: add criterion benchmark for TSID generator
- Compare original mur3 vs current fxhash fast/slow paths
- Test 2, 5, 10 label sets plus null-value slow path
- Add mur3 & criterion dev-deps; register bench target
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/change-tsid-gen:
test: stabilize metric-engine tests by fixing non-deterministic row order
- Add ORDER BY to SELECTs in TTL tests to ensure consistent output
- Update expected __tsid values after hash function change
- Swap expected OTLP metric rows to match new ordering
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* feat/change-tsid-gen:
refactor: simplify Default impls and remove redundant code
- Replace manual Default for TsidGenerator with derive
- Remove unnecessary into_iter() call
- Simplify Option::unwrap_or_else to unwrap_or
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2025-12-02 08:38:29 +00:00
Ning Sun
69f0249039
feat: update pg-catalog for describe table ( #7321 )
2025-12-02 01:38:36 +00:00
dennis zhuang
1f91422bae
feat!: improve mysql/pg compatibility ( #7315 )
...
* feat(mysql): add SHOW WARNINGS support and return warnings for unsupported SET variables
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat(function): add MySQL IF() function and PostgreSQL description functions for connector compatibility
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: show tables for mysql
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: partitions table in information_schema and add starrocks external catalog compatibility
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* refactor: async udf
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: set warnings
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat: impl pg_my_temp_schema and make description functions simple
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* test: add test for issue 7313
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat: apply suggestions
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: partition_expression and partition_description
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: test
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: unit tests
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: saerch_path only works for pg
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat: improve warnings processing
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: warnings while writing affected rows and refactor
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: improve ShobjDescriptionFunction signature
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* refactor: array_to_boolean
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-01 20:41:14 +00:00
jeremyhi
377373b8fd
fix: request limiter test case fix ( #7323 )
...
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2025-12-01 20:12:32 +00:00
fys
e107030d85
chore: add more fields to DdlManagerConfigureContext ( #7310 )
...
* feat: add more context for configurator
* move the flow grpc configure context to plugins crate
* move context to plugins crate
* add more fields
* fix: cargo check
* refactor: some
* refactor some
* adjust context
* fix: cargo check
* fix: ut
2025-12-01 08:03:12 +00:00
Weny Xu
18875eed4d
feat: implement Display trait for FlushRegions ( #7320 )
...
feat: implement Display trait for FlushRegions
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-12-01 06:33:23 +00:00
discord9
ee76d50569
test: gc integration test ( #7306 )
...
* test: basic infra for set gc
Signed-off-by: discord9 <discord9@163.com >
* more stuff
Signed-off-by: discord9 <discord9@163.com >
* test: basic gc integration test
Signed-off-by: discord9 <discord9@163.com >
* rm unused
Signed-off-by: discord9 <discord9@163.com >
* clippy
Signed-off-by: discord9 <discord9@163.com >
* refactor: remove loader
Signed-off-by: discord9 <discord9@163.com >
* clippy
Signed-off-by: discord9 <discord9@163.com >
* fix: allow default endpoint
Signed-off-by: discord9 <discord9@163.com >
* filter out files
Signed-off-by: discord9 <discord9@163.com >
* chore: rm minio support
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-12-01 04:10:42 +00:00
Weny Xu
5d634aeba0
feat: implement metadata update for repartition group procedure ( #7311 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-12-01 03:15:12 +00:00
Weny Xu
8346acb900
feat: introduce EnterStagingRequest for RegionEngine ( #7261 )
...
* feat: introduce `EnterStagingRequest` for region engine
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: improve error handling in staging mode entry
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
v1.0.0-beta.2-nightly-20251201
2025-11-28 09:02:32 +00:00
LFC
fdab75ce27
feat: simple read write new json type values ( #7175 )
...
feat: basic json read and write
Signed-off-by: luofucong <luofc@foxmail.com >
2025-11-27 12:40:35 +00:00
Ruihang Xia
4c07d2d5de
fix: metric engine deadlock when altering a group of tables ( #7308 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-11-27 09:45:06 +00:00
fys
020477994b
feat: add some configurable points ( #7227 )
...
* feat: enhance extension
* fix: cr
* move information schema table factories trait to standalone
* fix: self cr
* remove extension factory
* refactor
* remove extension filed from greptime options struct
* refactor
* minor refactor
* fix: cargo check
* fix: clippy
* fix: license check
* feat: enhance grpc and http configurator in servers crate
* grpc builder configurator
* remove unused file
* complete the remaining expansion points.
* fix: self-cr
* rename
* fix: typo
2025-11-27 09:21:46 +00:00
Yingwen
afefc0c604
fix: implement bulk write for time partitions and bulk memtable ( #7293 )
...
* feat: implement convert_bulk_part
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: convert bulk part in TimePartitions
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: fill missing columns for bulk parts
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: update comments
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: cast to dictionary type
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: add unit tests
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: update comment
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: do not convert part if bulk is written by write()
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-11-27 08:01:45 +00:00
Weny Xu
e44323c433
feat: add region repartition group procedure infrastructure ( #7299 )
...
* feat: add region repartition group procedure infrastructure
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-11-27 04:57:45 +00:00
discord9
0aeaf405c7
feat: add batch gc procedure ( #7296 )
...
* feat: add batch gc procedure
Signed-off-by: discord9 <discord9@163.com >
* chore
Signed-off-by: discord9 <discord9@163.com >
* chore: per review
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
* per even review
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-11-27 03:58:15 +00:00
Yingwen
b5cbc35a0d
fix: partition tree metric should the delta ( #7307 )
...
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-11-27 03:49:02 +00:00
shuiyisong
5472bdfc0f
chore: return 404 if trace not found ( #7304 )
...
* chore: return 404 if trace not found
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add test and fix
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2025-11-26 09:39:28 +00:00
discord9
6485a26fa3
refactor: load metadata using offical impl ( #7302 )
...
* refactor: load metadata using offical impl
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-11-26 08:52:04 +00:00
Weny Xu
69865c831d
feat: batch region migration for failover ( #7245 )
...
* refactor: support multiple rows per event in event recorder
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: batch region migration for failover
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: add tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-11-26 08:31:56 +00:00
shuiyisong
713525797a
chore: optimize search traces from Grafana ( #7298 )
...
* chore: minor update
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add test
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: update ua setup
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2025-11-26 08:06:15 +00:00
WaterWhisperer
09d1074e23
feat: add building option to build images base on distroless image ( #7240 )
...
Signed-off-by: WaterWhisperer <waterwhisperer24@qq.com >
2025-11-26 05:13:05 +00:00
dennis zhuang
1ebd25adbb
ci: add multi lang tests workflow into release and nightly workflows ( #7300 )
...
* ci: add multi lang tests workflow into release and nightly workflows
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: emoji
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* refactor: apply suggestions
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* ci: add notification when multi lang tests fails
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: revert ci and add nodejs
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-26 04:35:04 +00:00
dennis zhuang
c66f661494
chore: return meaningful message when content type mismatch in otel ( #7301 )
...
* chore: return meaningful message when content type mismatch in otel
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* refactor: extract duplicated code
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: use a new error for failing to decode loki request
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2025-11-26 03:20:52 +00:00
Sicong Hu
2783a5218e
feat: implement manual type for async index build ( #7104 )
...
* feat: prepare for index_build command
Signed-off-by: SNC123 <sinhco@outlook.com >
* feat: impl manual index build
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: clippy and fmt
Signed-off-by: SNC123 <sinhco@outlook.com >
* test: add idempotency check for manual build
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: apply suggestions
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: update proto
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: apply suggestions
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: fmt
Signed-off-by: SNC123 <sinhco@outlook.com >
* chore: update proto souce to greptimedb
Signed-off-by: SNC123 <sinhco@outlook.com >
* fix: cargo.lock
Signed-off-by: SNC123 <sinhco@outlook.com >
---------
Signed-off-by: SNC123 <sinhco@outlook.com >
2025-11-25 15:21:30 +00:00
Weny Xu
6b6d1ce7c4
feat: introduce remap_manifests for RegionEngine ( #7265 )
...
* refactor: consolidate RegionManifestOptions creation logic
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: introduce`remap_manifests` for `RegionEngine`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-25 12:09:20 +00:00
dennis zhuang
7e4f0af065
fix: mysql binary date type and multi-lang ci tests ( #7291 )
...
* fix: mysql binary date type
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* test: add unit test
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: typo
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* ci: add multi lang integration tests ci
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: path and branch
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* ci: prevent resuse runner
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: ci
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* ci: Multi-language Integration Tests trigged only when pushing to main
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2025-11-25 08:26:50 +00:00
yihong
d811c4f060
fix: pre-commit all files failed ( #7290 )
...
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
2025-11-25 07:27:46 +00:00
dennis zhuang
be3c26f2b8
fix: postgres timezone setting by default ( #7289 )
...
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2025-11-25 03:00:43 +00:00
Ning Sun
9eb44071b1
fix: postgres show statement describe and timestamp text parsing ( #7286 )
2025-11-24 19:01:50 +00:00
ZonaHe
77e507cbe8
feat: update dashboard to v0.11.8 ( #7281 )
...
Co-authored-by: sunchanglong <sunchanglong@users.noreply.github.com >
2025-11-24 14:02:33 +00:00
Ruihang Xia
5bf72ab327
feat: decode_primary_key method for debugging ( #7284 )
...
* initial impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* third param
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* feat: support convert Dictionary type to ConcreteDataType
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* change to list array
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplify file_stream::create_stream
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplify FileRegion
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* type alias
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix format
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove staled test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-11-24 12:41:54 +00:00
shuiyisong
9f4902b10a
feat: reloadable tls client config ( #7230 )
...
* feat: add ReloadableClientTlsConfig
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* refactor: merge tls option with the reloadable
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: rename function
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: update comment
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: extract tls loader
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: minor comment update
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add serde default to watch field
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: minor update
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add log
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: add error log
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2025-11-24 11:52:11 +00:00
Ruihang Xia
b32ca3ad86
perf: parallelize file source region ( #7285 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-11-24 11:37:48 +00:00
fys
d180cc8f4b
chore: add INFORMATION_SCHEMA_ALERTS_TABLE_ID const value ( #7288 )
2025-11-24 11:32:14 +00:00