Weny Xu
372f33540a
feat(frontend): backport write retries to release/5e02efa9 ( #9569 )
...
* feat(client): support region request reuse and route refresh hints (#9540 )
* feat(client): support shared region requests without deep cloning
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: propagate route refresh retry hints
Signed-off-by: WenyXu <wenymedia@gmail.com >
* style: preserve local error variant imports in retry hints
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(mito2): distinguish staging rejection from write backpressure
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): preserve legacy retry hints in instruction replies
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(client): inline retry hint compatibility cases
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(datanode): align batch-open retry hint assertion
Signed-off-by: WenyXu <wenymedia@gmail.com >
* style: use imported types in region request tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 684c8ff291 )
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(operator): centralize write partitioning and dispatch (#9541 )
* refactor(operator): centralize write partitioning and dispatch
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(operator): preserve write dispatch behavior during refactor
Signed-off-by: WenyXu <wenymedia@gmail.com >
* style(operator): import write dispatch error paths
Signed-off-by: WenyXu <wenymedia@gmail.com >
* style(operator): align dispatch imports and test utilities
Signed-off-by: WenyXu <wenymedia@gmail.com >
* style(operator): use imported types in partition tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit a2d28e6060 )
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(operator): retry failed writes with refreshed partitions (#9542 )
* feat(operator): retry failed writes with refreshed partitions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* style(operator): simplify retry test type references
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(operator): clarify write request rebuilding names
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(operator): encapsulate write retry attempts
Signed-off-by: WenyXu <wenymedia@gmail.com >
* style(operator): group inserter configuration methods
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(operator): share routed peers and separate retry decisions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(operator): avoid temporary write routing allocations
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit d86741d0ad )
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(frontend): retry transient distributed write failures (#9543 )
* refactor(operator): route shared requests through NodeManager
Remove the concrete NodeClients requester API and use the existing node manager for owned and shared requests. Preserve the original write hint while the legacy error adapter remains in place.
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): preserve retry policy through error hints
Propagate client errors through External and let DDL read retry hints while preserving cleanup and terminal-child policies. Region transport failures retain the legacy Retryable classification, which now also participates in bounded write retries.
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(operator): restore sparse partition tags when rebuilding writes
Decode retained primary keys when refreshed partition expressions need different tags. Keep the partitioner and multi-region sparse write regression tests with the fix.
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(operator): stop detached write retries when callers cancel
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(frontend): configure retries across distributed write paths
Wire the shared dispatcher through frontend and logical batching, preserving partition columns and request headers. Keep standalone retries disabled and include configuration, batching, and storage regression coverage.
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
(cherry picked from commit 863eebdecb )
Signed-off-by: WenyXu <wenymedia@gmail.com >
* style(mito2): format index error imports
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-10-14 14:02:28 +08:00
Xuanwo and WenyXu
4c12ea1aba
chore(deps): bump opendal to 0.58.1 ( #8742 )
...
* chore(deps): bump opendal to 0.58.1
Upgrade direct opendal dependency and workspace object_store_opendal pin
from 0.57 to 0.58 (lockfile resolves opendal 0.58.1 / object_store_opendal
0.58.0). Adapt to OpenDAL 0.58 composition API:
- Operator::new returns a finished operator; drop .finish() call sites
- Replace HttpClientLayer / raw::HttpClient with OperationContext +
HttpTransporter (ReqwestTransport)
- Migrate SecureFsBackend and MockLayer from Access/LayeredAccess to
Service + Layer::apply_service
- Rewrite SecureFs reader/writer/lister for sync factories and StreamRead
- Use OperatorInfo::capability() instead of removed native_capability()
Signed-off-by: Xuanwo <github@xuanwo.io >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: retrigger CI after udeps runner segfault
Signed-off-by: Xuanwo <github@xuanwo.io >
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(object-store): restore suffix read simulation for secure fs
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: adapt remaining callers to OpenDAL 0.58
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: Xuanwo <github@xuanwo.io >
Signed-off-by: WenyXu <wenymedia@gmail.com >
Co-authored-by: WenyXu <wenymedia@gmail.com >
2026-09-07 08:16:47 +00:00
Weny Xu
ed4271af40
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 >
2026-08-14 09:36:01 +00:00
Weny Xu
1af4c33524
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 >
2026-08-13 07:29:00 +00:00
Weny Xu
72f6cf09bf
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 >
2026-08-11 09:05:26 +00:00
Weny Xu
1f1c9270a8
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 >
2026-08-07 12:37:58 +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
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
dennis zhuang
cecb2d93a2
fix(repartition): enforce GC across lifecycle ( #8678 )
...
* fix(repartition): enforce GC across lifecycle
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* refactor(repartition): narrow GC recovery enforcement
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix(metasrv): avoid repeated GC preflight during bootstrap
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* docs(metasrv): clarify legacy GC reconciliation
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2026-07-29 12:04:16 +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
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
Weny Xu
e520ff8300
feat: decouple error retryability from status codes ( #8301 )
...
* feat: add retry hint to common error
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: propagate retry hints in core errors
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: propagate retry hint through RPC metadata
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fallback retry hints to status codes
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: add explicit retry hints for retryable errors
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: remove status code retry fallback
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: classify io retry hints
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: preserve retry hints across error wrappers
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: minior
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: preserve datasource retry hints in query
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: preserve metric engine retry hints
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: preserve flow and frontend retry hints
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: share rskafka retry hint mapping
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-06-17 08:27:53 +00:00
Weny Xu
123524474d
fix: reset procedure manager state on stop ( #8174 )
...
* fix: reset procedure manager state on stop
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit tests
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-05-28 03:45:04 +00:00
Weny Xu
dca451c485
fix: remap peer addresses during retries ( #7933 )
...
* fix: remap peer addresses during retries
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: styling
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: add tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-04-09 03:40:14 +00:00
Ning Sun
e14404c677
chore: update rust toolchain to 2026-03-21 ( #7849 )
...
* chore: update rust toolchain to 2026-03-21
* chore: new format
* fix: lint
* chore: resolve lint issues
* chore: remove as_millis_f64
* chore: deps up
2026-03-30 12:13:14 +00:00
Chengjie Jin
7866132920
feat(procedure): detect potential deadlock when parent/child procedures share lock keys ( #7752 )
...
* feat(procedure): detect potential deadlock when parent/child share lock keys
Add a deadlock detection mechanism in submit_subprocedure() to warn
when a child procedure's lock_key overlaps with its parent's lock_key.
When this happens, the parent holds the lock while waiting for the child
to complete (at child_notify.notified().await), but the child blocks
forever trying to acquire the same lock. This is a classic Hold-and-Wait
deadlock.
The detection:
- Emits a warn! log in all builds (visible in production)
- Triggers debug_assert!(false) in debug/test builds for early CI detection
This partially addresses the TODO at line 121-122 and is a follow-up
to the discussion in: https://github.com/GreptimeTeam/greptimedb/issues/7692
Signed-off-by: YZL0v3ZZ <2055877225@qq.com >
* style: fix trailing whitespace
Signed-off-by: YZL0v3ZZ <2055877225@qq.com >
* refactor(procedure): extract deadlock detection into a testable pure function
Signed-off-by: YZL0v3ZZ <2055877225@qq.com >
* fix(procedure): preserve lock mode when detecting parent/child deadlock
Signed-off-by: YZL0v3ZZ <2055877225@qq.com >
* re-run ci check
Signed-off-by: YZL0v3ZZ <2055877225@qq.com >
---------
Signed-off-by: YZL0v3ZZ <2055877225@qq.com >
2026-03-12 09:33:55 +00:00
Weny Xu
6b54fb6c21
feat(tracing): propagate mailbox trace context and refine procedure spans ( #7726 )
...
* feat(tracing): propagate mailbox trace context and refine procedure spans
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: minor
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update proto
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-02-26 11:35:04 +00:00
LFC and copilot-swe-agent[bot]
56629ec563
fix: panic when querying slowlog ( #7689 )
...
* fix: panic when querying slowlog
Signed-off-by: luofucong <luofc@foxmail.com >
* docs: fix json_payload() doc comment to reflect structured return type (#7690 )
* Initial plan
* docs: update json_payload doc comment to reflect serde_json::Value return type
Co-authored-by: MichaelScofield <990479+MichaelScofield@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: MichaelScofield <990479+MichaelScofield@users.noreply.github.com >
* fix ci
Signed-off-by: luofucong <luofc@foxmail.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2026-02-09 10:39:48 +00:00
Weny Xu
1d5291b06d
fix(procedure): update procedure state correctly during execution and on failure ( #7376 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-12-11 02:30:32 +00:00
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
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
discord9
e59612043d
feat: gc scheduler ctx&procedure ( #7252 )
...
* feat: gc ctx&procedure
Signed-off-by: discord9 <discord9@163.com >
* fix: handle region not found case
Signed-off-by: discord9 <discord9@163.com >
* docs: more explain&todo
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
* chore: add time for region gc
Signed-off-by: discord9 <discord9@163.com >
* fix: explain why loader for gc region should fail
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-11-19 08:35:17 +00:00
LFC and Ning Sun
8fe17d43d5
chore: update rust to nightly 2025-10-01 ( #7069 )
...
* chore: update rust to nightly 2025-10-01
Signed-off-by: luofucong <luofc@foxmail.com >
* chore: nix update
---------
Signed-off-by: luofucong <luofc@foxmail.com >
Co-authored-by: Ning Sun <sunning@greptime.com >
2025-10-11 07:30:52 +00:00
Ruihang Xia
c9377e7c5a
build: bump rust edition to 2024 ( #6920 )
...
* bump edition
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* gen keyword
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* lifetime and env var
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* one more gen fix
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* lifetime of temporaries in tail expressions
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format again
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clippy nested if
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clippy let and return
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-09-08 02:37:18 +00:00
Weny Xu
01dc789816
refactor: refine error status code mappings ( #6678 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-08-07 09:29:32 +00:00
zyy17
cc35bab5e4
feat: record the migration events in metasrv ( #6579 )
...
* feat: collect procedure event
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* feat: collect region migration events
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* test: add integration test
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: fix docs error
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: fix integration test error
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: change status code for errors
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* refactor: add `event()` in Procedure
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* refactor: improve trait design
1. Add `user_metadata()` in `Procedure` trait;
2. Add `Eventable` trait;
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: polish the code
Signed-off-by: zyy17 <zyylsxm@gmail.com >
---------
Signed-off-by: zyy17 <zyylsxm@gmail.com >
2025-08-06 03:30:33 +00:00
Weny Xu
7d8473e9bc
feat: introduce reconcile database procedure ( #6612 )
...
* feat: introduce reconcile database procedure
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: hold the schema lock
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: add todo
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update comments
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: rename to `fast_fail`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: add logs
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-07-31 11:01:56 +00:00
Weny Xu
4737285275
feat: implement pause/resume functionality for procedure manager ( #6393 )
...
* feat: implement pause/resume functionality for procedure manager
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-06-26 01:57:12 +00:00
Weny Xu
b01fce95a0
fix: remove poison key before retrying procedure on retryable errors ( #6189 )
...
* fix(meta): remove poison key before retrying procedure on retriable errors
* refactor: enhance error handling in DDL procedures
2025-05-29 01:17:38 +00:00
Weny Xu
0bf07d7f91
feat: optimize region migration concurrency with fine-grained table lock ( #6023 )
...
* feat(procedure): add dynamic key locking mechanism
* feat: optimize region migration concurrency with fine-grained table lock
* chore: apply suggestions from CR
2025-04-30 06:45:03 +00:00
Weny Xu and dennis zhuang
55c9a0de42
chore: upgrade opendal to 0.52 ( #5857 )
...
* chore: upgrade opendal to 0.52
* chore: ugprade object_store_opendal to 0.50
* Update Cargo.toml
Co-authored-by: dennis zhuang <killme2008@gmail.com >
---------
Co-authored-by: dennis zhuang <killme2008@gmail.com >
2025-04-15 18:48:42 +00:00
Ruihang Xia
c26e165887
refactor: check and fix super import ( #5846 )
...
* refactor: check and fix super import
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add to makefile
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* change dir
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-04-08 11:48:52 +00:00
Weny Xu
981d51785b
fix: throw errors instead of ignoring ( #5792 )
...
* fix: throw errors instead of ignoring
* fix: fix unit tests
* refactor: remove schema version check
* fix: fix clippy
* chore: remove unused error
* refactor: remove schema version check
* feat: handle mutliple results
* feat: introduce consistency guard
* fix: release consistency guard on datanode operation completion
* test: add tests
* chore: remove schema version
* refactor: rename
* test: add more tests
* chore: print all error
* tests: query table after alteration
* log ignored request
* refine fuzz test
* chore: fix clippy and log mailbox message
* chore: close prepared statement after execution
* chore: add comment
* chore: remove log
* chore: rename to `ConsistencyPoison`
* chore: remove unused error
* fix: fix unit tests
* chore: apply suggestions from CR
2025-04-07 13:51:00 +00:00
Weny Xu
917510ffd0
feat: introduce poison mechanism for procedure ( #5822 )
...
* feat: introduce poison for procedure
* tests: add unit tests
* refactor: minor refactor
* fix: unit tests
* chore: fix unit tests
* chore: apply suggestions from CR
* chore: apply suggestions from CR
* chore: update comments
* chore: introduce `ProcedureStatus::Poisoned`
* chore: upgrade greptime-proto to `2be0f`
* chore: apply suggestions from CR
2025-04-07 08:25:13 +00:00
Weny Xu
d3a60d8821
feat: add limit for the number of running procedures ( #5793 )
...
* refactor: remove unused `messages`
* feat: introduce running procedure num limit
* feat: update config
* chore: apply suggestions from CR
* feat: impl `status_code` for `log-store` crate
2025-03-31 06:14:21 +00:00
fys
2b2ea5bf72
chore: upgrade some dependencies ( #5777 )
...
* chore: upgrade some dependencies
* chore: upgrade some dependencies
* fix: cr
* fix: ci
* fix: test
* fix: cargo fmt
2025-03-27 02:48:44 +00:00
Weny Xu
c80d2a3222
fix: introduce gc task for metadata store ( #5461 )
...
* fix: introduce gc task for metadata kvbackend
* refactor: refine KvbackendConfig
* chore: apply suggestions from CR
2025-02-06 12:12:43 +00:00
Xuanwo
87bd12d6df
refactor: Bump opendal to 0.51.1 ( #5354 )
...
* refactor: Bump opendal to 0.51.1
Signed-off-by: Xuanwo <github@xuanwo.io >
* Ignore dirs from cache
Signed-off-by: Xuanwo <github@xuanwo.io >
* Reduce extra alloc
Signed-off-by: Xuanwo <github@xuanwo.io >
---------
Signed-off-by: Xuanwo <github@xuanwo.io >
2025-01-14 07:28:09 +00:00
3d9df822ad
refactor: refactor PgStore ( #5309 )
...
* refactor: refactor PgStore
* fix: election use bytea and txn use Serializable to avoid read unrepeatable (#4 )
* fix: election use bytea as well
* fix: use Serializable to avoid read unrepeatable
* chore: remove unused error
* ci: enable pg kvbackend and sqlness
* ci: switch on pg_kvbackend feature
* fix: fix sqlness runner
* chore: add pg_kvbackend feature gate
* build(ci): add feature gate
* fix: add retry for `PgStore` txn
* fix: correct `SET_IDLE_SESSION_TIMEOUT`
---------
Co-authored-by: Yohan Wal <1035325592@qq.com >
Co-authored-by: CookiePieWw <profsyb@gmail.com >
2025-01-07 07:27:58 +00:00
Ruihang Xia
422d18da8b
feat: bump opendal and switch prometheus layer to the upstream impl ( #5179 )
...
* feat: bump opendal and switch prometheus layer to the upstream impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove unused files
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove unused things
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove root dir on recovering cache
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* filter out non-files entry in test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-12-19 03:42:05 +00:00
Lei, HUANG
e328c7067c
chore: udapte Rust toolchain to 2024-10-19 ( #4857 )
...
* update rust toolchain
* change toolchain to 2024-10-17
* fix: clippy
* fix: ut
* bump shadow-rs
* fix: use nightly-2024-10-19
* fix: clippy
* chore/udapte-toolchain-2024-10-17: Update DEV_BUILDER_IMAGE_TAG to 2024-10-19-a5c00e85-20241024184445 in Makefile
2024-10-25 00:23:32 +00:00
taobo
0c9b8eb0d2
feat: improve observability for procedure ( #4675 )
...
* feat: improve observability for procedure
* fix: test error
* test: add sqlness test for information_schema.procedure_info
* fix: sqlness test error
* fix: cr comment
* chore: update proto version
* fix: apply cr comment
* update version
* fix: cr comment
* optimize procedure type output format
* upgrade dep version
* fix: clippy error
* fix: `procedure` borrowed error
* fix: optimize code
2024-09-20 06:07:53 +00:00
Ruihang Xia
93f202694c
refactor: remove unused error variants ( #4666 )
...
* add python script
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove unused errors
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix all negative cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* setup CI
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add license header
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-09-03 13:19:38 +00:00
Ruihang Xia
b72d3bc71d
build(deps): bump backon to 1.0 ( #4625 )
...
* build(deps): bump backon to 1.0
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-08-27 09:38:12 +00:00
Weny Xu
25cd61b310
chore: upgrade toolchain to nightly-2024-08-07 ( #4549 )
...
* chore: upgrade toolchain to `nightly-2024-08-07`
* chore(ci): upgrade toolchain
* fix: fix unit test
2024-08-22 11:02:18 +00:00
Weny Xu
cb4cffe636
chore: bump opendal version to 0.48 ( #4499 )
2024-08-04 00:46:04 +00:00
7daf24c47f
feat: remove dedicated runtime for grpc, mysql and pg protocols ( #4436 )
...
* feat: remove dedicated runtime for grpc, mysql and pg protocols
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove other runtimes
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* spawn compact task into compact_runtime
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* refine naming
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Update src/servers/tests/mysql/mysql_server_test.rs
Co-authored-by: Zhenchi <zhongzc_arch@outlook.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* turnoff fuzz test matrix fail fast option
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* chore: update rt config for ci tests
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Zhenchi <zhongzc_arch@outlook.com >
Co-authored-by: Weny Xu <wenymedia@gmail.com >
2024-07-30 06:17:58 +00:00
dennis zhuang
64cad4e891
feat: tweak error and status codes ( #4359 )
...
* feat: tweak status codes
* fix: typo
* fix: by cr comments
2024-07-15 07:50:16 +00:00
Weny Xu
1a9314a581
feat: enhanced the retry logic by adding a random noise ( #4320 )
...
feat: enhanced the retry logic by adding a random noise to the retry delay to avoid retry storms
2024-07-09 04:30:10 +00:00
tison and Xuanwo
f9db5ff0d6
build(deps): upgrade opendal to 0.46 ( #4037 )
...
* build(deps): upgrade opendal to 0.46
Signed-off-by: tison <wander4096@gmail.com >
* migrate writes
Signed-off-by: tison <wander4096@gmail.com >
* migrate reads
Signed-off-by: tison <wander4096@gmail.com >
* fixup object safety
Signed-off-by: tison <wander4096@gmail.com >
* fixup names
Signed-off-by: tison <wander4096@gmail.com >
* fixup compilation
Signed-off-by: tison <wander4096@gmail.com >
* fixup compilation
Signed-off-by: tison <wander4096@gmail.com >
* a few Buffer to Vec
Signed-off-by: tison <wander4096@gmail.com >
* Make greptime buildable with opendal 0.46 (#5 )
Signed-off-by: Xuanwo <github@xuanwo.io >
* fixup toml check
Signed-off-by: tison <wander4096@gmail.com >
* test_orc_opener
Signed-off-by: tison <wander4096@gmail.com >
* Fix lru cache (#6 )
Signed-off-by: Xuanwo <github@xuanwo.io >
* clippy
Signed-off-by: tison <wander4096@gmail.com >
* improve comments
Signed-off-by: tison <wander4096@gmail.com >
* address comments
Signed-off-by: tison <wander4096@gmail.com >
* reduce buf copy
Signed-off-by: tison <wander4096@gmail.com >
* upgrade to reqwest 0.12
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
Signed-off-by: Xuanwo <github@xuanwo.io >
Co-authored-by: Xuanwo <github@xuanwo.io >
2024-05-27 09:12:23 +00:00