Weny Xu
bf14d33962
feat: implement the drop database procedure ( #3541 )
...
* refactor: remove Sync trait of Procedure
* refactor: remove unnecessary async
* feat: implement the drop database procedure
* refactor: refactor DdlManager register_loaders
* feat: register the DropDatabaseProcedureLoader
* chore: fmt toml
* feat: support to submit DropDatabaseTask
* feat: support drop database stmt
* fix: empty the tables stream
* fix: ensure the factory always exists
* test: update sqlness results
* chore: correct comments
* test: update sqlness results
* test: update sqlness results
* chore: apply suggestions from CR
* chore: apply suggestions from CR
2024-03-25 06:12:47 +00:00
Ruihang Xia
992c7ec71b
feat: update physical table's schema on creating logical table ( #3570 )
...
* feat: update physical table's schema on creating logical table
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove debug code
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* tweak ut const
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* invalid physical table cache
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-03-25 03:19:30 +00:00
Ruihang Xia
2b2fd80bf4
feat: return new added columns in region server's extension response ( #3533 )
...
* feat: adapt the new proto response
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update interfaces
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* write columns to extension
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* use physical column's schema
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sort logical columns by name
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format code
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* return physical table's column
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Update src/common/meta/src/datanode_manager.rs
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
* implement sort column logic
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* proxy create table procedure to create logical table
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add unit test for sort_columns
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
2024-03-23 09:31:16 +00:00
Weny Xu
856a4e1e4f
refactor: refactor CacheInvalidator ( #3550 )
...
* refactor: refactor InvalidateCache Instruction
* refactor: refactor CacheInvalidator
2024-03-20 10:18:28 +00:00
Weny Xu
fa0f3555d4
refactor: introduce the DropTableExecutor ( #3534 )
...
* refactor: introduce the DropTableExecutor
* fix: register the dropping regions
* test: add tests for on_prepare
* chroe: add TODO comment
2024-03-19 08:29:12 +00:00
Weny Xu
343525dab8
refactor: remove removed-prefixed keys ( #3535 )
2024-03-18 11:07:30 +00:00
tison
0afac58e4d
feat(metasrv): implement maintenance ( #3527 )
...
* feat(metasrv): implement maintenance
Signed-off-by: tison <wander4096@gmail.com >
* fixup and test
Signed-off-by: tison <wander4096@gmail.com >
* Add coauthors
Co-authored-by: Yingwen <realevenyag@gmail.com >
Co-authored-by: xifyang <595482900@qq.com >
* tidy code
Signed-off-by: tison <wander4096@gmail.com >
* Apply suggestions from code review
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
* always read kv_backend maintenance state
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
Co-authored-by: xifyang <595482900@qq.com >
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
2024-03-18 09:41:14 +00:00
Weny Xu
a29e7ebb7d
feat: acquire all locks in procedure ( #3514 )
...
* feat: acquire catalog and schema lock in region failover
* chore: remove unused code
* feat!: acquire catalog and schema lock in region migration
* feat: acquire catalog and schema lock in create table
2024-03-14 11:41:23 +00:00
LFC
e3c82568e5
fix: correctly generate sequences when the value is pre-existed ( #3502 )
2024-03-14 06:55:12 +00:00
JeremyHi
da098f5568
fix: make max-txn-ops limit valid ( #3481 )
2024-03-11 09:27:51 +00:00
JeremyHi
352bd7b6fd
feat: max-txn-ops option ( #3458 )
...
* feat: max-txn-ops limit
* chore: by comment
2024-03-08 02:34:40 +00:00
JeremyHi
2d975e4f22
feat: tableref cache ( #3420 )
...
* feat: tableref cache
* chore: minor refactor
* chore: avoid to string
* chore: change log level
* feat: add metrics for prometheus remote write decode
2024-03-02 07:37:31 +00:00
JohnsonLee
a50025269f
feat: Support automatic DNS lookup for kafka bootstrap servers ( #3379 )
...
* feat: Support automatic DNS lookup for kafka bootstrap servers
* Revert "feat: Support automatic DNS lookup for kafka bootstrap servers"
This reverts commit 5baed7b01d .
* feat: Support automatic DNS lookup for Kafka broker
* fix: resolve broker endpoint in client manager
* fix: apply clippy lints
* refactor: slimplify the code with clippy hint
* refactor: move resolve_broker_endpoint to common/wal/src/lib.rs
* test: add mock test for resolver_broker_endpoint
* refactor: accept niebayes's advice
* refactor: rename EndpointIpNotFound to EndpointIPV4NotFound
* refactor: remove mock test and simplify the implementation
* docs: add comments about test_vallid_host_ipv6
* Apply suggestions from code review
Co-authored-by: niebayes <niebayes@gmail.com >
* move more common code
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
Co-authored-by: tison <wander4096@gmail.com >
Co-authored-by: niebayes <niebayes@gmail.com >
2024-02-29 07:29:20 +00:00
Weny Xu
a8cbec824c
refactor: refactor TableRouteManager ( #3392 )
...
* feat: introduce TableRouteStorage
* refactor: remove get & batch_get in TableRouteManager
* refactor: move txn related fn to TableRouteStorage
* chore: apply suggestions from CR
* chore(codecov): ingore tests-integration dir
2024-02-28 06:18:09 +00:00
dennis zhuang
4b36c285f1
feat: flush or compact table and region functions ( #3363 )
...
* feat: adds Requester to process table flush and compaction request
* feat: admin_fn macros for administration functions
* test: add query result
* feat: impl flush_region, flush_table, compact_region, and flush_region functions
* docs: add Arguments to admin_fn macro
* chore: apply suggestion
Co-authored-by: Zhenchi <zhongzc_arch@outlook.com >
* chore: apply suggestion
Co-authored-by: Zhenchi <zhongzc_arch@outlook.com >
* fix: group_requests_by_peer and adds log
* Update src/common/macro/src/admin_fn.rs
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* feat: adds todo for spawan thread
* feat: rebase with main
---------
Co-authored-by: Zhenchi <zhongzc_arch@outlook.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2024-02-27 08:57:38 +00:00
Weny Xu
7453d9779d
fix: throw errors instead of panic ( #3391 )
...
* fix: throw errors instead of panic
* chore: apply suggestions from CR
2024-02-27 03:46:12 +00:00
Weny Xu
1dc4fec662
refactor: allocate table ids in the procedure ( #3293 )
...
* refactor: refactor the create logical tables
* test(create_logical_tables): add tests for on_prepare
* test(create_logical_tables): add tests for on_create_metadata
* refactor: rename to create_logical_tables_metadata
* chore: fmt toml
* chore: apply suggestions from CR
2024-02-22 10:53:28 +00:00
dennis zhuang
564fe3beca
feat: impl migrate_region and procedure_state SQL function ( #3325 )
...
* fix: logical region can't find region routes
* feat: fetch partitions info in batch
* refactor: rename batch functions
* refactor: rename DdlTaskExecutor to ProcedureExecutor
* feat: impl migrate_region and query_procedure_state for ProcedureExecutor
* feat: adds SQL function procedure_state and finish migrate_region impl
* fix: constant vector
* feat: unit tests for migrate_region and procedure_state
* test: test region migration by SQL
* fix: compile error after rebeasing
* fix: clippy warnings
* feat: ensure procedure_state and migrate_region can be only called under greptime catalog
* fix: license header
2024-02-22 02:37:11 +00:00
SteveLauC
e9a2b0a9ee
chore: use workspace-wide lints ( #3352 )
...
* chore: use workspace-wide lints
* respond to review
2024-02-22 01:01:10 +00:00
Weny Xu
41656c8635
refactor: allocate table id in the procedure ( #3271 )
...
* refactor: replace TableMetadataManager with TableNameManager
* refactor: allocate table id in the procedure
* refactor: refactor client logical of handling retries
* feat(test_util): add TestCreateTableExprBuilder
* feat(test_util): add MockDatanodeManager
* feat(test_util): add new_ddl_context
* feat(test_util): add build_raw_table_info_from_expr
* feat(test_util): add MockDatanodeManager::new
* feat(procedure): add downcast_output_ref to Status
* test(create_table): add tests for CreateTableProcedure on_prepare
* refactor(ddl): rename handle_operate_region_error to add_peer_context_if_need
* test(create_table): add tests for CreateTableProcedure on_datanode_create_regions
* test(create_table): add tests for CreateTableProcedure on_create_metadata
* refactor(meta): use CreateTableExprBuilder
* feat(create_table): ensure number of partitions is greater than 0
* refactor: rename to add_peer_context_if_needed
* feat: add context for panic
* refactor: simplify the should_retry
* refactor: use Option<&T> instead of &Option<T>
* refactor: move downcast_output_ref under cfg(test)
* chore: fmt toml
2024-02-21 04:38:46 +00:00
JeremyHi
6668d6b042
fix: split write metadata request ( #3311 )
...
* feat: add txn_helper
* fix: split the create metadata requests to avoid exceeding the txn limit
* fix: add license header
* chore: some improve
2024-02-19 07:33:09 +00:00
JeremyHi
aa569f7d6b
feat: batch get physical table routes ( #3319 )
...
* feat: batch get physical table routes
* chore: by comment
2024-02-19 06:51:34 +00:00
dennis zhuang
8b73067815
feat: impl partitions and region_peers information schema ( #3278 )
...
* feat: impl partitions table
* fix: typo
* feat: impl region_peers information schema
* chore: rename region_peers to greptime_region_peers
* chore: rename statuses to upper case
* fix: comments
* chore: update partition result
* chore: remove redundant checking
* refactor: replace 42 with constant
* feat: fetch region routes in batch
2024-02-19 06:47:14 +00:00
tison
4e04a4e48f
build: support build without git ( #3309 )
...
* build: support build without git
Signed-off-by: tison <wander4096@gmail.com >
* chore
Signed-off-by: tison <wander4096@gmail.com >
* address comment
Signed-off-by: tison <wander4096@gmail.com >
* fix syntax
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
2024-02-18 10:30:01 +00:00
dennis zhuang
e5ec65988b
feat: administration functions ( #3236 )
...
* feat: adds database() function to return current db
* refactor: refactor meta src and client with new protos
* feat: impl migrate_region and query_procedure_state for procedure service/client
* fix: format
* temp commit
* feat: impl migrate_region SQL function
* chore: clean code for review
* fix: license header
* fix: toml format
* chore: update proto dependency
* chore: apply suggestion
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* chore: apply suggestion
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* chore: apply suggestion
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
* chore: apply suggestion
Co-authored-by: fys <40801205+fengys1996@users.noreply.github.com >
* chore: print key when parsing procedure id fails
* chore: comment
* chore: comment for MigrateRegionFunction
---------
Co-authored-by: Weny Xu <wenymedia@gmail.com >
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
Co-authored-by: fys <40801205+fengys1996@users.noreply.github.com >
2024-02-07 01:12:32 +00:00
JeremyHi
3201aea360
feat: create tables in batch on prom write ( #3246 )
...
* feat: create tables in batch on prom write
* feat: add logic table ids to log
* fix: miss tabble ids in response
2024-01-26 12:47:24 +00:00
Ruihang Xia
5617b284c5
feat: return request outdated error on handling alter ( #3239 )
...
* feat: return request outdated error on handling alter
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix tonic code mapping
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy, add comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix deadloop
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update UT
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* address CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* chore: Update log message
* Update src/common/meta/src/ddl/alter_table.rs
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* fix compile
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
Co-authored-by: Weny Xu <wenymedia@gmail.com >
2024-01-26 03:37:46 +00:00
JeremyHi
1fab7ab75a
feat: batch create ddl ( #3194 )
...
* feat: batch ddl to region request
* feat: return table ids
chore: by comment
chore: remove wal_options
chore: create logical tables lock key
feat: get metadata in procedure
* chore: by comment
2024-01-26 02:43:57 +00:00
Weny Xu
8bade8f8e4
fix: fix create table ddl return incorrect table id ( #3232 )
...
* fix: fix create table ddl return incorrect table id
* refactor: refactor param of Status::done_with_output
2024-01-25 13:58:43 +00:00
Weny Xu
d75cf86467
fix: only register region keeper while creating physical table ( #3223 )
...
fix: only register region keeper during create physical table
2024-01-23 09:42:32 +00:00
Weny Xu
4278c858f3
feat: make procedure able to return output ( #3201 )
...
* feat: make procedure able to return output
* refactor: change Output to Any
2024-01-21 06:56:45 +00:00
niebayes
63205907fb
refactor: introduce common-wal to aggregate wal stuff ( #3171 )
...
* refactor: aggregate wal configs
* refactor: move wal options to common-wal
* chore: slim Cargo.toml
* fix: add missing crates
* fix: format
* chore: update comments
* chore: add testing feature gate for test_util
* fix: apply suggestions from code review
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
* fix: apply suggestions from code review
* fix: compiling
---------
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
2024-01-18 03:49:37 +00:00
Ruihang Xia
fbd0197794
refactor: remove TableEngine ( #3181 )
...
* refactor: remove TableEngine
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Update src/table/src/table_reference.rs
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
2024-01-17 04:18:37 +00:00
JeremyHi
c2edaffa5c
feat: let tables API return a stream ( #3170 )
2024-01-15 12:36:39 +00:00
Weny Xu
bf88b3b4a0
fix: fix store all wal options ( #3149 )
...
* fix: fix store all wal options
* fix: incorrect updating DatanodeTable value
2024-01-12 04:48:14 +00:00
Weny Xu
bf96ce3049
fix: print detailed error ( #3146 )
2024-01-12 04:02:32 +00:00
Ruihang Xia
09b3c7029b
feat: handle drop request for metric table ( #3136 )
...
* handle drop request
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* adjust procedure manager
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add create table sqlness test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* insert/query metric table
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* address CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Update src/common/meta/src/kv_backend.rs
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* reuse region option for metadata region
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* tweak variable name
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
2024-01-11 09:38:43 +00:00
niebayes
1b0e39a7f2
chore: stop exposing num_partitions ( #3132 )
2024-01-10 10:45:18 +00:00
Weny Xu
ec8266b969
refactor: refactor the locks in the procedure ( #3126 )
...
* feat: add lock key
* refactor: procedure lock keys
* chore: apply suggestions from CR
2024-01-10 09:46:39 +00:00
niebayes
a0a31c8acc
chore(remote_wal): remove topic alias ( #3120 )
...
chore: remove topic alias
2024-01-09 07:35:02 +00:00
niebayes
8c58d3f85b
test(remote_wal): add unit tests for kafka remote wal ( #2993 )
...
* test: add unit tests
* feat: introduce kafka runtime backed by testcontainers
* test: add test for kafka runtime
* fix: format
* chore: make kafka image ready to be used
* feat: add entry builder
* tmp
* test: add unit tests for client manager
* test: add some unit tests for kafka log store
* chore: resolve some todos
* chore: resolve some todos
* test: add unit tests for kafka log store
* chore: add deprecate develop branch warning
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* tmp: ready to move unit tests to an indie dir
* test: update unit tests for client manager
* test: add unit tests for meta srv remote wal
* fix: license
* fix: test
* refactor: kafka image
* doc: add doc example for kafka image
* chore: migrate kafka image to an indie PR
* fix: CR
* fix: CR
* fix: test
* fix: CR
* fix: update Cargo.toml
* fix: CR
* feat: skip test if no endpoints env
* fix: format
* test: rewrite parallel test with barrier
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2024-01-08 10:48:11 +00:00
LFC
fcacb100a2
chore: expose some codes to let other projects use them ( #3115 )
2024-01-08 06:32:01 +00:00
JeremyHi
bd1a5dc265
feat: metric engine support alter ( #3098 )
...
* feat: metric engine support alter
* chore: by comment
* feat: get physical table route for frontend
2024-01-05 09:46:39 +00:00
zyy17
a89840f5f9
refactor(metrics): add 'greptime_' prefix for every metrics ( #3093 )
...
* refactor(metrics): add 'greptimedb_' prefix for every metrics
* chore: use 'greptime_' as prefix
* chore: add some prefix for new metrics
* chore: fix format error
2024-01-05 08:12:23 +00:00
Weny Xu
342faa4e07
test: add tests for lease keeper with logical table ( #3096 )
2024-01-05 02:29:48 +00:00
Weny Xu
f1a4750576
feat(tests-integration): add more region migration integration tests ( #3094 )
2024-01-04 08:18:46 +00:00
LFC
ec43b9183d
feat: table route for metric engine ( #3053 )
...
* feat: table route for metric engine
* feat: register logical regions
* fix: open logical region (#96 )
---------
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
2024-01-04 06:30:17 +00:00
ClSlaid
5c66ce6e88
chore: remove unnecessary result wrappings ( #3084 )
...
patch: remove unnecessary result wrappings
Signed-off-by: 蔡略 <cailue@bupt.edu.cn >
2024-01-03 10:20:33 +00:00
Weny Xu
b2b752337b
fix: fix non-physical error msg ( #3087 )
2024-01-03 09:40:03 +00:00
Weny Xu
aa22f9c94a
refactor: allow procedure to acquire share lock ( #3061 )
...
* feat: implement `KeyRwLock`
* refactor: use KeyRwLock instead of LockMap
* refactor: use StringKey instead of String
* chore: remove redundant code
* refactor: cleanup KeyRwLock staled locks before granting new lock
* feat: clean staled locks manually
* feat: sort lock key in lexicographically order
* feat: ensure the ref count before dropping the rwlock
* feat: add more tests for rwlock
* feat: drop the key guards first
* feat: drops the key guards in the reverse order
* chore: apply suggestions from CR
* chore: apply suggestions from CR
* chore: apply suggestions from CR
2024-01-03 08:05:45 +00:00