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
tison
33d894c1f0
build: do not retry for connrefused ( #3402 )
...
* build: do not retry for connrefused
Signed-off-by: tison <wander4096@gmail.com >
* simplify layout
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
2024-02-28 06:15:23 +00:00
Lei, HUANG
7942b8fae9
chore: add metris for memtable read path ( #3397 )
...
* chore: add metris for read path
* chore: add more metrics
2024-02-28 03:37:19 +00:00
Yingwen
b97f957489
feat: Use a partition level map to look up pk index ( #3400 )
...
* feat: partition level map
* test: test shard and builder
* fix: do not use pk index from shard builder
* feat: add multi key test
* fix: freeze shard before finding pk in shards
2024-02-28 03:17:09 +00:00
tison
f3d69e9563
chore: retry fetch dashboard assets ( #3394 )
...
Signed-off-by: tison <wander4096@gmail.com >
2024-02-27 10:07:21 +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
discord9
dbb1ce1a9b
feat(flow): impl for MapFilterProject ( #3359 )
...
* feat: mfp impls
* fix: after rebase
* test: temporal filter mfp
* refactor: more comments&test
* test: permute
* fix: check input len when eval
* refactor: err handle&docs: more explain graph
* docs: better flowchart map,filter,project
* refactor: visit_* falliable
* chore: better temp lint allow
* fix: permute partially
* chore: remove duplicated checks
* docs: more explain&tests for clarity
* refactor: use ensure! instead
2024-02-27 08:13:55 +00:00
Ruihang Xia
3544c9334c
feat!: new partition grammar - parser part ( #3347 )
...
* parser part
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix test in sql
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* comment out and ignore some logic
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update region migration test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* temporary disable region migration test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* allow dead code
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update integration test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-02-27 07:20:16 +00:00
Lei, HUANG
492a00969d
feat: enable zstd compression and encodings in merge tree data part ( #3380 )
...
* feat: enable zstd compression in merge tree data part to save memory
* feat: also enable customized column encoding in DataPartEncoder
2024-02-27 06:54:56 +00:00
Yingwen
206666bff6
feat: Implement partition eviction and only add value size to write buffer size ( #3393 )
...
* feat: track key bytes in dict
* chore: done allocating on finish
* feat: evict keys
* chore: do not add to write buffer
* chore: only count value bytes
* fix: reset key bytes
* feat: remove write buffer manager from shards
* feat: change dict size compute method
* chore: adjust dictionary size by os memory
2024-02-27 06:28:57 +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
liyang
8e3e0fd528
ci: add builder result outputs in release action ( #3381 )
2024-02-27 03:43:16 +00:00
dimbtp
b1e290f959
fix: range fix in modulo function tests ( #3389 )
...
fix: range fix for modulo tests
2024-02-26 15:50:23 +00:00
Ruihang Xia
d8dc93fccc
feat(grafana): enable shared tooltip, add raft engine throughput ( #3387 )
...
feat: enable shared tooltip, add raft engine throughput
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-02-26 11:31:15 +00:00
Ning Sun
3887d207b6
feat: make tls certificates/keys reloadable (part 1) ( #3335 )
...
* feat: make tls certificates/keys reloadable (part 1)
* feat: add notify watcher for cert/key files
* test: add unit test for watcher
* fix: correct usage of watcher
* fix: skip watch when tls disabled
2024-02-26 09:37:54 +00:00
Ruihang Xia
e859f0e67d
chore: skip reorder workspace tables in taplo ( #3388 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-02-26 08:57:49 +00:00
Ruihang Xia
ce397ebcc6
feat: change how region id maps to region worker ( #3384 )
...
* feat: change how region id maps to region worker
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add overflow test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-02-26 08:42:29 +00:00
Yingwen
26011ed0b6
fix: resets dict builder keys counter and avoid unnecessary pruning ( #3386 )
...
* fix: dict builder resets num_keys on finish
* feat: skip empty shard and builder
* feat: avoid pruning if possible
Implementations:
- Apply all filters on the partition column
- If no filter to prune, skip decoding keys
2024-02-26 08:24:46 +00:00
Lei, HUANG
8087822ab2
refactor: change the receivers of merge tree components ( #3378 )
...
* refactor: change the receivers of Shard::read/DataBuffer::read/DataParts::read to &self instead of &mut self
* refactor: remove allow(dead_code) in merge tree
2024-02-26 06:50:55 +00:00
Yingwen
e481f073f5
feat: Implement dedup for the new memtable and expose the config ( #3377 )
...
* fix: KeyValues num_fields() is incorrect
* chore: fix warnings
* feat: support dedup
* feat: allow using the new memtable
* feat: serde default for config
* fix: resets pk index after finishing a dict
v0.7.0-nightly-20240226
2024-02-25 13:06:01 +00:00
Lei, HUANG
606309f49a
fix: remove unused imports in memtable_util.rs ( #3376 )
2024-02-25 09:23:28 +00:00
Yingwen
8059b95e37
feat: Implement iter for the new memtable ( #3373 )
...
* chore: read shard builder
* chore: reuse pk weights
* chore: prune key
* chore: shard reader wip
* refactor: shard builder DataBatch
* feat: merge shard readers
* feat: return shard id in shard readers
* feat: impl partition reader
* chore: impl partition read
* feat: impl iter tree
* chore: save last yield pk id
* style: fix clippy
* refactor: rename ShardReaderImpl to ShardReader
* chore: address CR comment
2024-02-25 07:42:16 +00:00
Lei, HUANG
afe4633320
feat: merge tree dedup reader ( #3375 )
...
* feat: add dedup option to merge tree component
* feat: impl dedup reader for shard reader
* refactor: DedupReader::new to DedupReader::try_new
* refactor: remove DedupReader::current_key field
* fix: some cr comments
* fix: fmt
* fix: remove shard_id method from DedupSource
2024-02-24 13:50:49 +00:00
Yingwen
abbfd23d4b
feat: Add freeze and fork method to the memtable ( #3374 )
...
* feat: add fork method to the memtable
* feat: allow mark immutable returns result
* feat: use fork to create the mutable memtable
* feat: remove memtable builder from freeze
* chore: warninigs
* fix: inspect error
* feat: iter returns result
* chore: maintains memtable id in region
* chore: update comment
* fix: remove region status if failed to freeze a memtable
* chroe: update comment
* chore: iter should not require sync
* chore: implement freeze and fork for the new memtable
2024-02-24 12:11:16 +00:00
Yingwen
1df64f294b
refactor: Remove Item from merger's Node trait ( #3371 )
...
* refactor: data reader returns reference to data batch
* refactor: use range to create merger
* chore: Reference RecordBatch in DataBatch
* fix: top node not read if no next node
* refactor: move timestamp_array_to_i64_slice to data mod
* style: fix cilppy
* chore: derive copy for DataBatch
* chore: address CR comments
2024-02-24 07:19:48 +00:00
LFC
a6564e72b4
fix: treat "0" and "1" as valid boolean values. ( #3370 )
...
* Treat "0" and "1" as valid boolean values.
* Update src/sql/src/statements.rs
Co-authored-by: tison <wander4096@gmail.com >
* Fix tests.
---------
Co-authored-by: tison <wander4096@gmail.com >
2024-02-23 14:34:27 +00:00
Lei, HUANG
1f1d1b4f57
feat: distinguish between different read paths ( #3369 )
...
* feat: distinguish between different read paths
* fix: reformat code
2024-02-23 12:40:39 +00:00
Yingwen
b144836935
feat: Implement write and fork for the new memtable ( #3357 )
...
* feat: write to a shard or a shard builder
* feat: freeze and fork for partition and shards
* chore: shard builder
* chore: change dict reader to support random access
* test: test write shard
* test: test write
* test: test memtable
* feat: add new and write_row to DataParts
* refactor: partition freeze shards
* refactor: write_with_pk_id
* style: fix clippy
* chore: add methods to get pk weights
* chroe: fix compiler errors
2024-02-23 07:20:55 +00:00
dependabot[bot]
93d9f48dd7
build(deps): bump libgit2-sys from 0.16.1+1.7.1 to 0.16.2+1.7.2 ( #3367 )
...
Bumps [libgit2-sys](https://github.com/rust-lang/git2-rs ) from 0.16.1+1.7.1 to 0.16.2+1.7.2.
- [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/git2-rs/commits )
---
updated-dependencies:
- dependency-name: libgit2-sys
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-23 14:30:09 +08:00
Lei, HUANG
90e9b69035
feat: impl merge reader for DataParts ( #3361 )
...
* feat: impl merge reader for DataParts
* fix: fmt
* fix: sort rows with pk and ts according to sequnce desc
* fix: remove pk weight as pk index are already replace by weights
* fix: format
* fix: some cr comments
* fix: some cr comments
* refactor: simply trait's associated types
* fix: some cr comments
2024-02-23 06:07:55 +00:00
LFC
2035e7bf4c
refactor: set the actual bound port in server handler ( #3353 )
...
* refactor: set the actual bound port so we can use port 0 in testing
* Update src/servers/src/server.rs
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* fmt
---------
Co-authored-by: Weny Xu <wenymedia@gmail.com >
2024-02-23 02:49:11 +00:00
Ruihang Xia
7341f23019
feat: skip filling NULL for put and delete requests ( #3364 )
...
* feat: optimize for sparse data
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove old structures
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-02-22 14:30:43 +00:00
tison
41ee0cdd5a
build(deps): Upgrade opensrv to 0.7.0 ( #3362 )
...
* build(deps): Upgrade opensrv to 0.7.0
Signed-off-by: tison <wander4096@gmail.com >
* workaround X is not X by casting
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
2024-02-22 13:11:26 +00:00
Kould
578dd8f87a
feat: add isnull function ( #3360 )
...
* code fmt
* feat: add isnull function
* feat: add isnull function
2024-02-22 12:41:25 +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
Ruihang Xia
f26505b625
fix: typo in lint config ( #3358 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-02-22 08:56:33 +00:00
Ruihang Xia
8289b0dec2
ci: align docs workflow jobs with develop.yml ( #3356 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-02-22 07:01:15 +00:00
Yingwen
53105b99e7
test: fix list_files_and_parse_table_name path issue on windows ( #3349 )
...
* fix: always converts path to slash
* chore: print
* chore: normalize dir
* chore: compile
* chore: rm print
2024-02-22 06:16:41 +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
discord9
860b1e9d9e
feat(flow): impl ScalarExpr&Scalar Function ( #3283 )
...
* feat: impl for ScalarExpr
* feat: plain functions
* refactor: simpler trait bound&tests
* chore: remove unused imports
* chore: fmt
* refactor: early ret on first error
* refactor: remove abunant match arm
* chore: per review
* doc: `support` fn
* chore: per review more
* chore: more per review
* fix: extract_bound
* chore: per review
* refactor: reduce nest
2024-02-21 12:53:16 +00:00
Yingwen
7c88d721c2
Merge pull request #3348
...
* feat: define functions for partitions
* feat: write partitions
* feat: fork and freeze partition
* feat: create iter by partition
* style: fix clippy
* chore: typos
* feat: add scan method to builder
* feat: check whether the builder should freeze first
2024-02-21 20:50:34 +08:00
Lei, HUANG
90169c868d
feat: merge tree data parts ( #3346 )
...
* feat: add iter method for DataPart
* chore: rename iter to reader
* chore: some doc
* fix: resolve some comments
* fix: remove metadata in DataPart
2024-02-21 11:37:29 +00:00
tison
4c07606da6
refactor: put together HTTP headers ( #3337 )
...
* refactor: put together HTTP headers
Signed-off-by: tison <wander4096@gmail.com >
* do refactor
Signed-off-by: tison <wander4096@gmail.com >
* drop dirty commit
Signed-off-by: tison <wander4096@gmail.com >
* reduce changeset
Signed-off-by: tison <wander4096@gmail.com >
* fixup compilations
Signed-off-by: tison <wander4096@gmail.com >
* tidy files
Signed-off-by: tison <wander4096@gmail.com >
* drop common-api
Signed-off-by: tison <wander4096@gmail.com >
* fmt
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
2024-02-21 09:51:10 +00:00
tison
a7bf458a37
chore: remove unused deprecated table_dir_with_catalog_and_schema ( #3341 )
2024-02-21 08:46:36 +00:00
tison
fa08085119
ci: upgrade actions to node20-based version ( #3345 )
...
* ci: upgrade actions to node20-based version
Signed-off-by: tison <wander4096@gmail.com >
* distinguish artifact name
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
2024-02-21 08:09:09 +00:00
Lei, HUANG
86a98c80f5
feat: replace pk index with pk_weight during freeze ( #3343 )
...
* feat: replace pk index with pk_weight during freeze
* chore: add parameter to control pk_index replacement
* fix: dedup pk weights also
* fix: generate pk array before dedup
2024-02-21 08:05:25 +00:00
tison
085a380019
build(deps): axum-tets-helper has included patch-1 ( #3333 )
...
Signed-off-by: tison <wander4096@gmail.com >
2024-02-21 07:49:42 +00:00
tison
d9a96344ee
ci: try fix log location ( #3342 )
...
Signed-off-by: tison <wander4096@gmail.com >
2024-02-21 07:01:51 +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