Weny Xu
4045298cb2
feat: add region_statistics table ( #4771 )
...
* refactor: introduce `region_statistic`
* refactor: move DatanodeStat related structs to common_meta
* chore: add comments
* feat: implement `list_region_stats` for `ClusterInfo` trait
* feat: add `region_statistics` table
* feat: add table_id and region_number fields
* chore: rename unused snafu
* chore: udpate sqlness results
* chore: avoid to print source in error msg
* chore: move `procedure_info` under `greptime` catalog
* chore: apply suggestions from CR
* Update src/common/meta/src/datanode.rs
Co-authored-by: jeremyhi <jiachun_feng@proton.me >
---------
Co-authored-by: jeremyhi <jiachun_feng@proton.me >
2024-09-27 09:54:52 +00:00
Weny Xu
163cea81c2
feat: migrate local WAL regions ( #4715 )
...
* feat: allow to flush region before migrating
* fix: fix unit tests
* feat: allow to set `flush_timeout`
* feat: skip to replay memtable
* fix: fix unit tests
* test: add more tests
* refactor: simplify timeout logical
* test: add unit tests
* test: add unit tests
* chore: update comments
* fix: fix unit tests
* fix: fmt and clippy
* feat: change default timeout to 30s
* fix: throw `ExceededDeadline` error
* test: add tests for `downgrade_region_with_retry`
* chore: apply suggestions from CR
* chore: apply suggestions from CR
* chore: apply suggestions from CR
* chore: update proto to `3633474`
* refactor: refactor `upgrade_region_with_retry`
* chore: apply suggestions from CR
2024-09-20 08:27:20 +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
Lei, HUANG
b5f7138d33
refactor(tables): improve tables performance ( #4737 )
...
* chore: cherrypick 52e8eebb2dbbbe81179583c05094004a5eedd7fd
* refactor/tables: Change variable from immutable to mutable in KvBackendCatalogManager's method
* refactor/tables: Replace unbounded channel with bounded and use semaphore for concurrency control in KvBackendCatalogManager
* refactor/tables: Add common-runtime dependency and update KvBackendCatalogManager to use common_runtime::spawn_global
* refactor/tables: Await on sending error through channel in KvBackendCatalogManager
2024-09-19 04:44:02 +00:00
jeremyhi
dcae21208b
chore: refresh route table ( #4673 )
...
* chore: remove error::
* chore: avoid to use get_raw if unnecessary
* chore: clearer method name
* feat: remap node addresses in table route
* chore: add unit test for remap address
* feat: refresh node address mapping via heartbeat
* feat: broadcast table cache invalidate on new epoch
* chore: clarify heartbeat log
* chore: remove InvalidHeartbeatRequest
* chore: add log
* feat: add role into NodeAddressKey
* chore: fix test
* Update src/common/meta/src/key/table_route.rs
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
* chore: simplify code
---------
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
2024-09-10 12:08:59 +00:00
Weny Xu
8bf549c2fa
chore: print downgraded region last_entry_id ( #4701 )
2024-09-09 08:14:55 +00:00
jeremyhi
e88465840d
feat: add extension field to HeartbeatRequest ( #4688 )
...
* feat: add extension field to HeartbeatRequest
* chore: extension to extensions
* chore: upgrade proto
2024-09-06 08:29:20 +00:00
jeremyhi
8814695b58
feat: invalidate cache via invalidator on region migration ( #4682 )
...
feat: invalidate table via invalidator on region migration
2024-09-05 06:15:38 +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
Lanqing Yang
9286e963e7
chore: adding heartbeat sent/recv counts in greptimedb nodes ( #4624 )
...
obs: adding heartbeat sent/recv counts in greptimedb nodes
2024-08-30 03:57:16 +00:00
Weny Xu
47657ebbc8
feat: replay WAL entries respect index ( #4565 )
...
* feat(log_store): use new `Consumer`
* feat: add `from_peer_id`
* feat: read WAL entries respect index
* test: add test for `build_region_wal_index_iterator`
* fix: keep the handle
* fix: incorrect last index
* fix: replay last entry id may be greater than expected
* chore: remove unused code
* chore: apply suggestions from CR
* chore: rename `datanode_id` to `location_id`
* chore: rename `from_peer_id` to `location_id`
* chore: rename `from_peer_id` to `location_id`
* chore: apply suggestions from CR
2024-08-28 11:37:18 +00:00
Ruihang Xia
a3b8d2fe8f
chore: bump rust toolchain to 2024-08-21 ( #4606 )
...
* chore: bump rust toolchain to 2024-08-22
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update workflow
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* try 20240606
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-08-22 15:38:10 +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
Lanqing Yang
93be81c041
feat: implement postgres kvbackend ( #4421 )
2024-08-14 22:49:32 +00:00
zyy17
63e1892dc1
refactor(plugin): add SetupPlugin and StartPlugin error ( #4554 )
2024-08-13 11:22:48 +00:00
Jeremyhi
0d70961448
feat: change the default selector to RoundRobin ( #4528 )
...
* feat: change the default selector to rr
* Update src/meta-srv/src/selector.rs
* fix: unit test
2024-08-08 04:58:20 +00:00
Ruihang Xia
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
Weny Xu
e39f49fe56
fix: ensure keep alive is completed in time ( #4349 )
...
* fix: ensure keep alive is completed in time
* chore: apply suggestions from CR
* chore: use write runtime
* refactor: set META_LEASE_SECS to 5
* chore: set etcd replicas to 1
* chore: apply suggestions from CR
* chore: apply suggestions from CR
* fix: set `MissedTickBehavior::Delay`
* chore: apply suggestions from CR
2024-07-17 06:14:45 +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
58f991b864
fix: deregister failure detector in region migration ( #4293 )
...
* fix: deregister failure detector in region migration
* chore: apply suggestions from CR
2024-07-07 06:58:12 +00:00
discord9
09fff24ac4
feat: make flow distributed work&tests ( #4256 )
...
feat: flownode frontend client&test
feat: Frontend Client
feat: set frontend invoker for flownode
feat: set frontend invoker for flownode
chore: test script
WIP: test flow distributed
feat: hard coded demo
docs: flownode example toml
feat: add flownode support in runner
docs: comments for node
chore: after rebase
docs: add a todo
tests: move flow tests to common
fix: flownode sqlness dist test
chore: per review
docs: make
fix: make doc
2024-07-05 14:46:44 +00:00
Weny Xu
4f0984c1d7
chore: remove original region failover implementation ( #4237 )
...
chore: remove original region failure implementation
2024-07-05 08:03:46 +00:00
Weny Xu
ee9a5d7611
feat: introduce FlowRouteValue ( #4263 )
...
* feat: introduce `FlowRouteKey` and `FlowRouteValue`
* feat: put `FlowRouteValue` values in flow creation
* feat: use `FlowRouteValue`
* refactor: remove `PeerLookupServiceRef` in `DdlContext`
* chore: remove unused code
* Update src/common/meta/src/key.rs
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: apply suggestions from CR
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-07-03 19:46:16 +00:00
discord9
f035a7c79c
feat: flow cli for distributed ( #4226 )
...
* feat(WIP): add FlownodeInstance for flow cli
* feat(WIP): cli
* feat: add merge opts func
* refactor: move server&error to src dir
* feat: flownode cli build
* feat: add `flownode` subcmd to cli
* refactor: per review
* refactor!: BREAKING remove alias `metasrv-addr`
* chore: after rebase
* feat: cache invalide flownode cache
* chore: small refactor per review
* chore: fix a typo
* feat!: revert breaking change
* chore: per review
* refactor: not accept `metasrv-addr` only for flownode
2024-07-01 09:56:15 +00:00
Jeremyhi
5d396bd6d7
feat: forgot collect flownode clusterinfo handler ( #4236 )
...
* feat: forgot collect flownode clusterinfo handler
* fix: unit test
* fix: filter stale heartbeat
2024-07-01 06:42:31 +00:00
Weny Xu
6a634f8e5d
feat: register & deregister region failure detectors actively ( #4223 )
...
* feat: Use DATANODE_LEASE_SECS from distributed_time_constants for heartbeat pause duration
* feat: introduce `RegionFailureDetectorController` to manage region failure detectors
* feat: add `RegionFailureDetectorController` to `DdlContext`
* feat: add `region_failure_detector_controller` to `Context` in region migration
* feat: register region failure detectors during rollback region migration procedure
* feat: deregister region failure detectors during drop table procedure
* feat: register region failure detectors during create table procedure
* fix: update meta config
* chore: apply suggestions from CR
* chore: avoid cloning
* chore: rename
* chore: reduce the size of the test
* chore: apply suggestions from CR
* chore: move channel initialization into `RegionSupervisor::channel`
* chore: minor refactor
* chore: rename ident
2024-07-01 05:58:27 +00:00
Weny Xu
8cbe7166b0
refactor: migrate region failover implementation to region migration ( #4172 )
...
* refactor: migrate region failover implementation to region migration
* fix: use HEARTBEAT_INTERVAL_MILLIS as lease secs
* fix: return false if leader is downgraded
* fix: only remove failure detector after submitting procedure successfully
* feat: ignore dropped region
* refactor: retrieve table routes in batches
* refactor: disable region failover on local WAL implementation
* fix: move the guard into procedure
* feat: use real peer addr
* feat: use interval instead of sleep
* chore: rename `HeartbeatSender` to `HeartbeatAcceptor`
* chore: apply suggestions from CR
* chore: reduce duplicate code
* chore: apply suggestions from CR
* feat: lookup peer addr
* chore: add comments
* chore: apply suggestions from CR
* chore: apply suggestions from CR
2024-06-25 11:58:17 +00:00
discord9
82f6373574
feat: FlownodeClient ( #4206 )
...
* feat: FlownodeClient
* chore: remove wrong doc
* fix: debug impl for NodeClients
* chore: rename `FlownodeClient` to `FlowRequester`
2024-06-25 08:40:24 +00:00
discord9
a44fe627ce
feat: heartbeat task&peer lookup in proc ( #4179 )
...
* feat: herat beat task
* feat: use real flow peer allocator when building
* feat: add peer look up in ddl context
* fix: drop flow test
* refactor: per review(WIP)
* refactor: not check if is alive
* refactor: per review
* refactor: remove useless `reset`
* refactor: per bot advices
* refactor: alive peer
* chore: bot review
2024-06-24 15:06:33 +00:00
Jeremyhi
5bcd7a14bb
feat: use the write runtime to handle the heartbeats ( #4177 )
2024-06-20 08:45:07 +00:00
Jeremyhi
4c3d4af127
feat: register flow node ( #4166 )
...
* feat: rename keys.rs to key.rs
* feat: refactor datanode keys
* feat: add flownode key
* feat: keep flownode's lease info in metasrv
* feat: flow selector
* feat: impl_try_from_lease_key and impl_from_str_lease_key to simple code
2024-06-20 03:46:19 +00:00
Jeremyhi
141d017576
feat: enable metasrv to accept flownode's heartbeats ( #4160 )
...
* feat: make metasrv can accept flownode's heartbeat
* chore: proto
2024-06-18 04:07:46 +00:00
LFC
5a6021e34f
refactor: remove substrait ser/de for region query in standalone ( #3812 )
...
* refactor: remove substrait serde for region query in standalone
* fix ci
* move QueryRequest to common-query
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format code
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format toml file
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* chore: format toml
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2024-06-11 09:33:47 +00:00
LFC
c0aed1d267
feat: set global runtime size by config file ( #4063 )
...
* set global runtime size
* fix: resolve PR comments
* fix: log the whole option
* fix ci
* debug ci
* debug ci
---------
Co-authored-by: Weny Xu <wenymedia@gmail.com >
2024-06-04 10:03:33 +00:00
shuiyisong
d1838fb28d
refactor: move define_into_tonic_status to common-error ( #4095 )
...
* chore: finish cherry-pick
* chore: remove unused code
2024-06-04 03:29:15 +00:00
dennis zhuang
24612f62dd
feat: querying from view works ( #3952 )
...
* feat: querying from view works
* feat: use MemoryCatalogProviderList instead of DummyCatalogList
* refactor: revert src/query/src/dummy_catalog.rs
* chore: clean code
* fix: make clippy happy
* fix: toml format
* fix: sqlness
* fix: forgot files
* fix: make sqlness happy
* test: table source, serializer and decoder
* fix: fail to decode plan because of invalid table names
* test: adds more sqlness test for view
* chore: remove unused errors
* fix: comments
* fix: typo
* fix: invalidate view info cache after creating view successfully
* chore: apply suggestion
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* chore: apply suggestion
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* fix: compile error after rebeasing
* chore: style
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* fix: don't export table_name in common-meta
* chore: change ViewInfo::new signature
* docs: leave a TODO for optimize param
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2024-05-30 21:45:56 +00:00
tison
c78043d526
build(deps): merge tower deps to workspace ( #4036 )
...
Signed-off-by: tison <wander4096@gmail.com >
2024-05-27 07:15:30 +00:00
Ruihang Xia
a58256d4d3
feat: round-robin selector ( #4024 )
...
* feat: implement round robin peer selector
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add document and test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-05-24 07:29:07 +00:00
Jeremyhi
418090b464
chore: log error for detail ( #4011 )
...
* chore: log error for detail
* chore: by cr
2024-05-22 12:17:20 +00:00
shuiyisong
19543f9819
feat: support compression on gRPC server ( #3961 )
...
* feat: enable gzip in grpc server side
* feat: add enable_gzip_compression config
* test: add grpc compression test
* feat: support user configured compression on grpc server
* chore: update doc
* chore: add tests
* fix: make config-docs
* chore: fix cr issue
* chore: add test
* refactor: remove config on server side, auto enable all compression support
* chore: minor update
* chore: remove unused code
* refactor: enable zstd compression internally by default
* chore: minor fix
2024-05-20 11:28:00 +00:00
zyy17
ca409a732f
refactor(naming): use the better naming for pubsub ( #3960 )
2024-05-17 03:00:15 +00:00
zyy17
63a8d293a1
refactor: add Configurable trait ( #3917 )
...
* refactor: add Configurable trait
* refactor: add merge_with_cli_options() to simplify load_options()
* docs: add comments
* fix: clippy errors
* fix: toml format
* fix: build error
* fix: clippy errors
* build: downgrade config-rs
* refactor: use '#[snafu(source(from()))'
* refactor: minor modification for load_layered_options() to make it clean
2024-05-15 12:56:40 +00:00
Jeremyhi
5d8084a32f
chore: store-addr to store-addrs ( #3925 )
2024-05-13 08:30:25 +00:00
zyy17
60eb5de3f1
refactor: add tracing options in xOptions ( #3919 )
...
* refactor: add tracing options in {DatanodeOptions, FrontendOptions, MetasrvOptions, StandaloneOptions}
* ci: fix integration error
* refactor: minor modification for initialization of tracing options
2024-05-13 05:16:50 +00:00
Ruihang Xia
115c74791d
build(deps): bump snafu to 0.8 ( #3911 )
...
* change Cargo.toml
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* global replace
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* handle alias in script engine
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-05-10 13:36:25 +00:00
Weny Xu
9d36c31209
feat: introduce the CacheRegistry ( #3896 )
...
* feat: implement the `CacheRegistry`
* refactor: change `CacheInvalidator` signature
* feat: implement `CacheInvalidator`
* feat: add `get_or_register`
* fix: fmt toml
* feat: implement the `CacheRegistryBuilder`
* chore: apply suggestions from CR
* chore: fmt code
2024-05-10 11:53:42 +00:00
Weny Xu
5545a8b023
feat: implement drop flow procedure ( #3877 )
...
* feat: implement `destroy_flow_metadata` method
* chore: bump proto to 65c1364
* feat: implement the drop flow procedure
* feat: add `MockFlownodeManager`
* tests: add tests for create flow & drop flow procedure
* chore: apply suggestions from CR
* chore: use `ClusterId`
2024-05-09 08:23:19 +00:00
Jeremyhi
7de62ef5d0
feat: add metasrv start time to node info ( #3883 )
2024-05-09 06:53:55 +00:00
Weny Xu
0e05f85a9d
feat: pass QueryContext to FlowRequestHeader ( #3878 )
...
* feat: pass `QueryContext` to `DdlTaskRequest`
* feat: pass `QueryContext` to `FlowRequestHeader`
* chore: fmt toml
2024-05-09 04:57:33 +00:00
Jeremyhi
6e1cc1df55
feat: metasrvs nodeinfo ( #3873 )
...
* feat: get metasrv nodeinfo
* fix: sqlness test
* chore: by comment
* feat: proto version
2024-05-07 11:20:57 +00:00