Lei, HUANG
7961de25ad
feat: persist compaction time window ( #1757 )
...
* feat: persist compaction time window
* refactor: remove useless compaction window fields
* chore: revert some useless change
* fix: some CR comments
* fix: comment out unstable sqlness test
* revert commented sqlness
2023-06-13 10:15:42 +08:00
Ruihang Xia
8c78368374
refactor: replace #[snafu(backtrace)] with Location ( #1753 )
...
* remove snafu backtrace
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clean up
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-06-12 11:55:33 +08:00
dennis zhuang
f08f726bec
test: s3 manifest ( #1755 )
...
* feat: change default manifest options
* test: s3 manifest
* feat: revert checkpoint_margin to 10
* Update src/object-store/src/test_util.rs
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
---------
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2023-06-09 10:28:41 +00:00
Yingwen
1b4976b077
feat: Adds some metrics for write path and flush ( #1726 )
...
* feat: more metrics
* feat: Add preprocess elapsed
* chore(storage): rename metric
* test: fix tests
2023-06-05 21:35:44 +08:00
Ruihang Xia
e5b6f8654a
feat: optimizer rule to pass expected output ordering hint ( #1675 )
...
* move type convertsion rule into optimizer dir
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* implement order_hint rule
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* it works!
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* use column name instead
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* accomplish test case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update lock file
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-06-02 03:43:51 +00:00
Zheming Li
5467ea496f
feat: Add column supports at first or after the existing columns ( #1621 )
...
* feat: Add column supports at first or after the existing columns
* Update src/common/query/Cargo.toml
---------
Co-authored-by: dennis zhuang <killme2008@gmail.com >
2023-06-01 02:13:00 +00:00
dennis zhuang
ae8203fafa
fix: prepare statement doesn't support insert clause ( #1680 )
...
* fix: insert clause doesn't support prepare statement
* fix: manifeste dir
* fix: format
* fix: temp path
2023-05-31 20:14:58 +08:00
Weny Xu
0460f3ae30
test: add write test for region failover ( #1673 )
...
* test: add write test for region failover
* test: add written data assertion after failover
* test: support more storage types
2023-05-31 15:42:00 +08:00
Lei, HUANG
72b6bd11f7
feat: adapt window reader to order rules ( #1671 )
...
* feat: adapt window reader to order rules
* fix: add asc sort test case
2023-05-31 03:36:17 +00:00
Ruihang Xia
b27c569ae0
refactor: add scan_to_stream() to Table trait to postpone the stream generation ( #1639 )
...
* add scan_to_stream to Table
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl parquet stream
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* reorganise adapters
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* implement scan_to_stream for mito table
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clean up
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add location info
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: table scan
* UT pass
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl project record batch
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix information schema
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove one todo
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix errors generated by merge commit
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add output_ordering method to record batch stream
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix rustfmt
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* enhance error types
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Lei, HUANG <mrsatangel@gmail.com >
2023-05-29 20:03:47 +08:00
Weny Xu
732784d3f8
feat: support to load missing region ( #1651 )
...
* feat: support to load missing region
* Update src/mito/src/table.rs
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
---------
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2023-05-26 03:30:46 +00:00
Weny Xu
3dc45f1c13
feat: implement CloseRegionHandler ( #1569 )
...
* feat: implement CloseRegionHandler
* feat: register heartbeat response handlers
* test: add tests for heartbeat response handlers
* fix: drop table does not release regions
* chore: apply suggestion from CR
* fix: fix close region issue
* chore: apply suggestion from CR
* chore: apply suggestion from CR
* chore: apply suggestion from CR
* chore: apply suggestion from CR
* chore: apply suggestion from CR
* chore: apply suggestion from CR
* chore: apply suggestion from CR
* chore: modify method name and add log
* refactor: refactor HeartbeatResponseHandler
* chore: apply suggestion from CR
* refactor: remove close method from Region trait
* chore: apply suggestion from CR
* chore: remove PartialEq from CloseTableResult
* chore: apply suggestion from CR
2023-05-23 15:44:27 +08:00
dennis zhuang
7c55783e53
feat!: reorganize the storage layout ( #1609 )
...
* feat: adds data_home to DataOptions
* refactor: split out object store stuffs from datanode instance
* feat: move data_home into FileConfig
* refactor: object storage layers
* feat: adds datanode path to procedure paths
* feat: temp commit
* refactor: clean code
* fix: forgot files
* fix: forgot files
* Update src/common/test-util/src/ports.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* Update tests/runner/src/env.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* fix: compile error
* chore: cr comments
* fix: dependencies order in cargo
* fix: data path in test
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-05-23 13:58:26 +08:00
Weny Xu
9f67ad8bce
fix: fix doesn't release closed regions issue ( #1596 )
...
* fix: fix close region issue
* chore: apply suggestion from CR
* chore: apply suggestion from CR
* chore: apply suggestion from CR
* chore: apply suggestion from CR
* refactor: remove close method from Region trait
* chore: remove PartialEq from CloseTableResult
2023-05-23 11:40:12 +08:00
Lei, HUANG
8e7ec4626b
refactor: remove useless error ( #1624 )
...
* refactor: remove useless
* fix: remove useless error variant
2023-05-22 22:55:27 +08:00
Yingwen
32ad358323
fix(table-procedure): Open table in RegisterCatalog state ( #1617 )
...
* fix(table-procedure): on_register_catalog should use open_table
* test: Test recover RegisterCatalog state
* test: Fix subprocedure does not execute in test
* feat(mito): adjust procedure log level
* refactor: rename execute_parent_procedure
execute_parent_procedure -> execute_until_suspended_or_done
2023-05-22 17:54:02 +08:00
Vanish
8764ce7845
feat: add delete WAL in drop_region ( #1577 )
...
* feat: add delete WAL in drop_region
* chore: fix typo err.
* feat: mark all SSTs deleted and remove the region from StorageEngine's region map.
* test: add test_drop_region for StorageEngine.
* chore: make clippy happy
* fix: fix conflict
* chore: CR.
* chore: CR
* chore: fix clippy
* fix: temp file life time
2023-05-18 18:02:34 +08:00
Weny Xu
ca75a7b744
fix: remove region number validation ( #1593 )
...
* fix: remove region number validation
* Update src/mito/src/engine.rs
Co-authored-by: dennis zhuang <killme2008@gmail.com >
---------
Co-authored-by: dennis zhuang <killme2008@gmail.com >
2023-05-17 09:23:56 +08:00
WU Jingdi
fb1ac0cb9c
feat: support user config manifest compression ( #1579 )
...
* feat: support user config manifest compression
* chore: change style
* chore: enhance test
2023-05-16 11:02:59 +08:00
Yingwen
8d54d40b21
feat: Add FlushPicker to flush regions periodically ( #1559 )
...
* feat: Add FlushPicker
* feat(storage): Add close to StorageEngine
* style(storage): fix clippy
* feat(storage): Close regions in StorageEngine::close
* chore(storage): Clear requests on scheduler stop
* test(storage): Test flush picker
* feat(storage): Add metrics for auto flush
* feat(storage): Add flush reason and record it in metrics
* feat: Expose flush config
docs(config): Update config example
* refactor(storage): Run auto flush task in FlushScheduler
* refactor(storage): Add FlushItem trait to make FlushPicker easy to test
2023-05-15 17:29:28 +08:00
Weny Xu
66903d42e1
feat: implement OpenTableHandler ( #1567 )
...
* feat: implement OpenTableHandler
* chore: apply suggestion from CR
* chore: apply suggestion from CR
2023-05-15 10:47:28 +08:00
discord9
2c82ded975
feat: table metrics ( #1469 )
...
* feat: Statistic
* add todo
* fmt: cargo fmt
* feat: some simple impl for MemTable
* chore: a try on adding statistics
* Update src/table/src/stats.rs
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* docs: fix typo
* newlines unnecessary
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-06 14:59:49 +08:00
Yingwen
51be35a7b1
feat(mito): Combine the original and procedure's implementation ( #1468 )
...
* fix(mito): Add metrics to mito DDL procedure
* feat(mito): Use procedure's implementation to create table
* feat(mito): Use procedure's implementation to alter table
* feat(mito): Use procedure's implementation to drop table
* style(mito): Fix clippy
* test(mito): Fix tests
* feat(mito): Add TableCreator
* feat(mito): update alter table procedure
* fix(mito): alter procedure create alter op first
* feat(mito): Combine alter table code
* fix(mito): Fix deadlock
* feat(mito): Simplify drop table procedure
2023-04-28 11:48:52 +08:00
Yingwen
eb50cee601
feat: Switch to the procedure framework ( #1448 )
...
* feat: Remove create_mock_sql_handler()
create_to_request() and alter_to_request() don't need `&self`, so
we don't need to mock the sql handler to test them
* feat: Enable procedure manager by default
* docs: Update config example
* test: Enable procedure framework in all tests
* refactor(datanode): rename methods using procedure
* test(catalog): Fix temp dir drops before test finishes
* tests: Enable procedure framework in sqlness
* test: Fix sqlness standalone rename test
* fix: Drop procedure allows table not in engine
* test: Change rename table test
* fix: add options to table meta when creating table by procedure
* test: adjust error message in schema test case
* test: Fix test_sql_api error message
2023-04-25 12:04:02 +08:00
Zheming Li
c75845c570
fix: wrong next column in manifest ( #1440 )
...
Signed-off-by: Zheming Li <nkdudu@126.com >
2023-04-23 11:25:38 +08:00
Yingwen
9cd2cf630d
feat: procedures for file table engine ( #1417 )
...
* refactor: Add table_ref() to requests as their methods
* feat: Add CreateImmutableFileTable
* feat: Add DropImmutableFileTable
* feat: Implement TableEngineProcedure for ImmutableFileTableEngine
* feat: Add common-procedure-test crate
* refactor: mito engine use common-procedure-test to test procedures
* test: Add test for create and drop table
* chore: Address review comments
2023-04-20 18:52:44 +08:00
shuiyisong
145f8eb5a7
refactor: parallelize open table ( #1392 )
...
* refactor: change open_table to parallel on datanode startup
* chore: try move out register schema table
* chore: change mito engine to key lock
* chore: minor change
* chore: minor change
* chore: update error definition
* chore: remove rwlock on tables
* chore: try parallel register table on schema provider
* chore: add rt log
* chore: add region open rt log
* chore: add actual open region rt log
* chore: add recover rt log
* chore: divide to three part rt log
* chore: remove debug log
* chore: add replay rt log
* chore: update cargo lock
* chore: remove debug log
* chore: revert unused change
* chore: update err msg
Co-authored-by: dennis zhuang <killme2008@gmail.com >
* chore: fix cr issue
Co-authored-by: dennis zhuang <killme2008@gmail.com >
* chore: fix cr issue
* chore: fix cr issue
---------
Co-authored-by: dennis zhuang <killme2008@gmail.com >
2023-04-18 21:36:29 +08:00
Lei, HUANG
68e64a6ce9
feat: add some metrics ( #1384 )
...
* feat: add some metrics
* fix: compile errors
2023-04-14 20:46:45 +08:00
Yingwen
d988b43996
feat: Add drop table procedure to mito ( #1377 )
...
* feat: Add drop table procedure to mito
* feat: remove table from engine and then close it
2023-04-14 13:09:38 +08:00
Ruihang Xia
6b6617f9cb
build: specify clippy denies in cargo config ( #1351 )
...
* build: specify clippy denies in cargo config
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* deny implicit clone
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-04-11 09:48:52 +00:00
Lei, HUANG
3e8ec8b73a
fix: avoid panic when no region found in table ( #1359 )
2023-04-11 16:58:18 +08:00
Ruihang Xia
da66138e80
refactor(error): remove backtrace, and introduce call-site location for debugging ( #1329 )
...
* wip: global replace
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix compile
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix warnings
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove unneeded tests of errors
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix ErrorExt trait implementator
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix warnings
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix format
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix pyo3 tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-04-06 04:06:00 +00:00
Eugene Tolbakov
59f7630000
feat: initial changes for compaction_time_window field support ( #1083 )
...
* feat(compaction_time_window): initial changes for compaction_time_window field support
* feat(compaction_time_window): move PickerContext creation
* feat(compaction_time_window): update region descriptor, fix formatting
* feat(compaction_time_window): add minor enhancements
* feat(compaction_time_window): fix failing test
* feat(compaction_time_window): return an error instead silently skip for the user provided compaction_time_window
* feat(compaction_time_window): add TODO reminder
2023-04-06 10:32:41 +08:00
Weny Xu
451f9d2d4e
feat: support multi table engines ( #1277 )
...
* feat: support multi table engines
* refactor: adapt SqlHandler to support multiple table engines
* refactor: refactor TableEngineManager
* chore: apply review suggestions
* chore: apply review suggestions
* chore: apply review suggestions
* chore: snafu context styling
2023-04-03 14:49:12 +00:00
dennis zhuang
68d3247791
chore: tweak logs ( #1314 )
...
* chore: tweak logs
* chore: cr comments
2023-04-03 21:08:16 +08:00
Yingwen
dee20144d7
feat: Implement procedure to alter a table for mito engine ( #1259 )
...
* feat: wip
* fix: Fix CreateMitoTable::table_schema not initialized from json
* feat: Implement AlterMitoTable procedure
* test: Add test for alter procedure
* feat: Register alter procedure
* fix: Recover procedures after catalog manager is started
* feat: Simplify usage of table schema in create table procedure
* test: Add rename test
* test: Add drop columns test
2023-03-31 14:40:54 +08:00
dennis zhuang
563adbabe9
feat!: improve region manifest service ( #1268 )
...
* feat: try to use batch delete in ManifestLogStorage
* feat: clean temp dir when startup with file backend
* refactor: export region manifest checkpoint actions magin and refactor storage options
* feat: purge unused manifest and checkpoint files by repeat gc task
* chore: debug deleted logs
* feat: adds RepeatedTask and refactor all gc tasks
* chore: clean code
* feat: export gc_duration to manifest config
* test: assert gc works
* fix: typo
* Update src/common/runtime/src/error.rs
Co-authored-by: LFC <bayinamine@gmail.com >
* Update src/common/runtime/src/repeated_task.rs
Co-authored-by: LFC <bayinamine@gmail.com >
* Update src/common/runtime/src/repeated_task.rs
Co-authored-by: LFC <bayinamine@gmail.com >
* fix: format
* Update src/common/runtime/src/repeated_task.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: by CR comments
* chore: by CR comments
* fix: serde default for StorageConfig
* chore: remove compaction config in StandaloneOptions
---------
Co-authored-by: LFC <bayinamine@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-03-31 10:42:00 +08:00
Lei, HUANG
5edd2a3dbe
feat: upgrade opendal ( #1245 )
...
* chore: upgrade opendal
* chore: finish upgrading opendal
* fix: clippy complaints
* fix some tests
* fix: all unit tests
* chore: rebase develop
* fix: sqlness tests
* optimize imports
* chore: rebase develop
* doc: add todo
2023-03-28 09:47:33 +08:00
dennis zhuang
4f15b26b28
feat: region manifest checkpoint ( #1202 )
...
* chore: adds log when manifest protocol is changed
* chore: refactor region manifest
* temp commit
* feat: impl region manifest checkpoint
* feat: recover region version from manifest snapshot
* test: adds region snapshot test
* test: region manifest checkpoint
* test: alter region with manifest checkpoint
* fix: revert storage api
* feat: delete old snapshot
* refactor: manifest log storage
* Update src/storage/src/version.rs
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* Update src/storage/src/manifest/checkpoint.rs
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* Update src/storage/src/manifest/region.rs
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* Update src/storage/src/manifest/region.rs
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* chore: by CR comments
* refactor: by CR comments
* fix: typo
* chore: tweak start_version
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2023-03-27 11:15:52 +08:00
dennis zhuang
8fb97ea1d8
fix: losing region numbers after altering table ( #1209 )
2023-03-21 11:19:43 +08:00
Yingwen
ad5c47185d
feat: wait flush until the flush is done ( #1188 )
...
* feat: Add wait argument to flush
* test(storage): Fix flush tests
2023-03-20 11:25:19 +08:00
Lei, HUANG
17eb99bc52
feat: allow manual table flush through HTTP API ( #1184 )
2023-03-15 20:15:34 +08:00
Zheming Li
f712f978cf
feat: Report disk usage stats to metasrv thru heartbeat ( #1167 )
...
* feat: Report disk usage stats to metasrv thru heartbeat
Signed-off-by: Zheming Li <nkdudu@126.com >
* Update src/catalog/src/error.rs
Co-authored-by: fys <40801205+Fengys123@users.noreply.github.com >
* Update src/catalog/src/lib.rs
Co-authored-by: fys <40801205+Fengys123@users.noreply.github.com >
* Update src/mito/src/table.rs
Co-authored-by: fys <40801205+Fengys123@users.noreply.github.com >
---------
Signed-off-by: Zheming Li <nkdudu@126.com >
Co-authored-by: fys <40801205+Fengys123@users.noreply.github.com >
2023-03-15 03:11:32 +00:00
LFC
8d3999df5f
fix: failed to run subquery wrapped in two parentheses ( #1157 )
2023-03-14 10:59:43 +08:00
Weny Xu
296c6dfcbf
feat: implement table flush ( #1121 )
...
* feat: add flush method for trait
* feat: implement flush via grpc
* chore: move table_dir/region_name/region_id to table crate
* chore: Update src/mito/src/table.rs
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-03-13 20:10:37 +08:00
Weny Xu
8a83de4ea5
feat: add shutdown for datanode ( #1160 )
2023-03-13 17:49:26 +08:00
Eugene Tolbakov
b31a6cb506
refactor: replace tempdir with tempfile ( #1123 )
...
* refactor: replace tempdir with tempfile
* refactor(query): move tempfile dependency under the workspace's Cargo.toml
* refactor(tempfile): create common-test-util
* refactor(tempfile): fix toml format
* refactor(tempfile): remove tempfile out of dependencies
* refactor(tempfile): fix incorrect toml
2023-03-08 11:15:56 +08:00
Zheming Li
b70672be77
feat: track disk usage of regions ( #1125 )
...
* feat: track disk usage of regions
Signed-off-by: Zheming Li <nkdudu@126.com >
* calculate disk usage when call
* add default on file meta
---------
Signed-off-by: Zheming Li <nkdudu@126.com >
2023-03-07 17:13:12 +08:00
Lei, HUANG
e8cc9b4b29
test: add manifest compatibility tests ( #1130 )
...
* tests: add manifest compatibility tests
* fix: clippy
2023-03-06 19:31:54 +08:00
Eugene Tolbakov
b022556b79
fix: apply ttl and write_buffer_size options when a table is created via procedure ( #1117 )
...
* fix: apply ttl and write_buffer_size options when a table is created via procedure
* fix: address code review suggestion
* fix: use borrowing of table_options correctly
2023-03-05 19:37:23 +08:00