dennis zhuang
2a9f482bc7
feat: show create table ( #1336 )
...
* temp commit
* feat: impl Display for CreateTable statement
* feat: impl show create table for standalone
* fix: forgot show.rs
* feat: clean code
* fix: typo
* feat: impl show create table for distributed
* test: add show create table sqlness test
* fix: typo
* fix: sqlness tests
* feat: render partition rules for distributed table
* Update src/sql/src/statements.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* Update src/sql/src/statements.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* Update src/sql/src/statements.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* Update src/sql/src/statements/create.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: by CR comments
* fix: compile error
* fix: missing column comments and extra table options
* test: add show create table test
* test: add show create table test
* chore: timestamp precision
* fix: test
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-04-21 11:37:16 +08:00
Ruihang Xia
a6e41cdd7b
chore: bump arrow, parquet, datafusion and tonic ( #1386 )
...
* bump arrow, parquet, datafusion, tonic and greptime-proto
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add analyzer and fix test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy warnings
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-04-15 00:03:15 +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
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
dennis zhuang
bf8c717022
feat: try to do manifest checkpoint on opening region ( #1321 )
2023-04-04 21:36:54 +08:00
Ruihang Xia
99353c6ce7
refactor: rename "value" semantic type to "field" ( #1326 )
...
* global replace
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* change desc table
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-04-04 11:14:28 +00:00
dennis zhuang
68d3247791
chore: tweak logs ( #1314 )
...
* chore: tweak logs
* chore: cr comments
2023-04-03 21:08:16 +08:00
dennis zhuang
aea932b891
fix: checkpoint fails when deleting old logs fails ( #1300 )
2023-04-02 11:06:36 +08:00
Lei, HUANG
0253136333
feat: buffered parquet writer ( #1263 )
...
* wip: use
* rebase develop
* chore: fix typos
* feat: replace export parquet writer with buffered writer
* fix: some cr comments
* feat: add sst_write_buffer_size config item to config how many bytes to buffer before flush to underlying storage
* chore: reabse onto develop
2023-04-01 17:21:19 +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
Ruihang Xia
b5e5f8e555
chore(deps): bump arrow and parquet to 36.0.0, and datafusion to the latest ( #1282 )
...
* chore: update arrow, parquet to 36.0 and datafusion
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update deps
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Apply suggestions from code review
Co-authored-by: LFC <bayinamine@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: LFC <bayinamine@gmail.com >
2023-03-30 16:24:10 +08:00
Ruihang Xia
d7cadf6e6d
fix: nyc-taxi bench tools and limit max parallel compaction task number ( #1275 )
...
* limit mas parallel compaction subtask
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* correct type map
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-03-29 09:16:53 +00:00
Lei, HUANG
d7a1435517
fix: remove backtrace from ratelimit error ( #1273 )
2023-03-29 15:58:01 +08:00
Yingwen
e72ce5eaa9
fix: Adds FileHandle to ChunkStream ( #1255 )
...
* test: Add compaction test
* test: Test read during compaction
* test: Add s3 object store to test
* test: only run compact test
* feat: Hold file handle in chunk stream
* test: check files still exist after compact
* feat: Revert changes to develop.yaml
* test: Simplify MockPurgeHandler
2023-03-28 16:22:07 +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
Lei, HUANG
6f81717866
fix: skip empty parquet ( #1236 )
...
* fix: returns None if parquet file does not contain any rows
* fix: skip empty parquet file
* chore: add doc
* rebase develop
* fix: use flatten instead of filter_map with identity
2023-03-26 09:39:15 +08:00
Lei, HUANG
77f9383daf
fix: allow larger compaction window to reduce parallel task num ( #1223 )
...
fix: unit tests
2023-03-24 17:12:13 +08:00
Yingwen
f1139fba59
fix: Holds FileHandle in ParquetReader to avoid the purger purges it ( #1224 )
2023-03-23 14:24:25 +00:00
LFC
b2a09c888a
feat: phi accrual failure detector ( #1200 )
2023-03-21 11:47:47 +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
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
Bohan Wu
ba3ce436df
refactor(SST): UUID as id in FileMeta ( #1116 )
...
* feat(SST): use a newType named FileId for FileMeta
* chore: rename some functions
* fix: compatible for previous FileMeta format
* fix: alias for file_id when getting deserialized
2023-03-08 14:27:20 +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
Ning Sun
d402f83442
ci: generate apidocs when pushing to default branch ( #1093 )
...
* ci: generate apidocs when pushing to default branch
* ci: require clippy before running tests
* fix: resolve new clippy warnings on primitive slice
* fix: resolve more clippy warnings
* Update .github/workflows/apidoc.yml
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* ci: add an index html to redirect
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2023-03-01 13:18:26 +08:00
Xuanwo
fdd17c6eeb
refactor: Clean up re-export of opendal services ( #1067 )
...
Signed-off-by: Xuanwo <github@xuanwo.io >
2023-02-23 14:12:34 +08:00
Xuanwo
98ef74bff4
chore: Bump OpenDAL to v0.27 ( #1057 )
...
* Bump OpenDAL to v0.27
Signed-off-by: Xuanwo <github@xuanwo.io >
* Make cargo check happy
Signed-off-by: Xuanwo <github@xuanwo.io >
* Address comments
Signed-off-by: Xuanwo <github@xuanwo.io >
* Address comments
Signed-off-by: Xuanwo <github@xuanwo.io >
* Format toml
Signed-off-by: Xuanwo <github@xuanwo.io >
* Make taplo happy
Signed-off-by: Xuanwo <github@xuanwo.io >
---------
Signed-off-by: Xuanwo <github@xuanwo.io >
2023-02-23 11:20:45 +08:00
Lei, HUANG
2df8143ad5
feat: support table ttl ( #1052 )
...
* feat: purge expired sst on compaction
* chore: add more log
* fix: clippy
* fix: mark expired ssts as compacting before picking candidates
* fix: some CR comments
* fix: remove useless result
* fix: cr comments
2023-02-22 16:56:20 +08:00
Lei, HUANG
e17d5a1c41
feat: support table options ( #1044 )
...
* feat: change table options from string map to a struct, add ttl and write_buffer_size
* fix: also pass table options to table meta
* feat: pass table options when opening/creating regions
* fix: CR comments
2023-02-21 08:10:23 +00:00
Zhizhen He
6833b405d9
ci: upgrade spell checker to 1.13.10 ( #1045 )
...
* ci: upgrade spell checker to 1.13.10
Signed-off-by: Zhizhen He <hezhizhen.yi@gmail.com >
* fix: fix existing typos
Signed-off-by: Zhizhen He <hezhizhen.yi@gmail.com >
* chore: use taplo to format typos.toml
Signed-off-by: Zhizhen He <hezhizhen.yi@gmail.com >
* chore: add fmt-toml rule to format TOML files
Signed-off-by: Zhizhen He <hezhizhen.yi@gmail.com >
---------
Signed-off-by: Zhizhen He <hezhizhen.yi@gmail.com >
2023-02-21 10:55:27 +08:00
Yingwen
6e9964ac97
refactor(storage): Simplify debug output of some structs ( #1028 )
...
* refactor: Simplify debug output of RegionImpl
* feat: Simplify memtable debug output
2023-02-20 14:35:30 +08:00
Lei, HUANG
af1f8d6101
feat: file purger ( #1030 )
...
* wip
* wip
* feat: file purger
* chore: add tests
* feat: delete removed file on sst merge
* chore: move MockAccessLayer to test_util
* fix: some cr comments
* feat: add await termination for scheduler
* fix: some cr comments
* chore: rename max_file_in_level0 to max_files_in_level0
2023-02-19 14:56:41 +08:00
Eugene Tolbakov
7787cfdd42
refactor(datatypes): enhance MutableVector methods ( #987 )
...
* refactor(datatypes): enhance MutableVector methods
* refactor(datatypes): address code review issues
* refactor(datatypes): address more code review issues
* refactor(datatypes): fix merge conflicts
* refactor(datatypes): address code review issues
* refactor(datatypes): address more code review issues
* refactor(datatypes): update sql delete with the newly introduced method
2023-02-17 16:16:23 +08:00
Weny Xu
2f39a77137
feat: add close method for the region trait ( #970 )
...
feat: add close for region trait
2023-02-17 11:32:55 +08:00
Lei, HUANG
16f86a9d77
refactor: separate compaction stuff from task scheduler ( #1021 )
...
* refactor: make schedule request return value generic
* feat: add handler trait
* wip
* feat: use task handler
* fix: unit test
* refactor: separate scheduler mod
* chore: rename
* chore: Request use associate type
* refactor: use associate type
* refactor: use associate type to reduce generic parameters
* chore: further remove generic types
* chore: further remove a generic parameter
2023-02-16 19:30:23 +08:00
Ruihang Xia
a8c2b35ec6
chore: bump rust to nightly-2023-02-14 ( #1019 )
...
* chore: bump rust to nightly-2023-02-14
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* bump statrs to 0.16
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-02-16 13:17:57 +08:00
Lei, HUANG
75b8afe043
feat: compaction integration ( #997 )
...
* feat: trigger compaction on flush
* chore: rebase develop
* feat: add config item max_file_in_level0 and remove compaction_after_flush
* fix: cr comments
* chore: add unit test to cover Timestamp::new_inclusive
* fix: workaround to fix future is not Sync
* fix: future is not sync
* fix: some cr comments
2023-02-15 14:14:07 +08:00
Eugene Tolbakov
4d8276790b
refactor(storage): remove unused FlushIo variant ( #1002 )
...
refactor(storeage): remove unused FlushIo variant
2023-02-15 11:42:05 +08:00
Lei, HUANG
374acc8830
feat: compaction reader and writer ( #972 )
...
* feat: compaction reader and writer
* feat: make ParquetWrite accept both memtable iterator and chunk reader
* feat: adapt ParquetWriter to accomodate ChunkReaderImpl
* chore: rebase develop
* wip: compile
* wip: task logic
* feat: version and manifest update
* fix: remove useless as_inner from Timestamp vectors
* feat: mark file compacting
* fix: unit test
* fix: clippy warnings
* fix: CR comment
* chore: according to cr comments, remove visit_levels from LevelMetas
* fix: some CR comments
* fix: add PlainTimestampRowFilter for correctness
* fix: cr comments
* fix: some typos
2023-02-14 17:32:00 +08:00
Lei, HUANG
e77a7f253c
feat: L0 to L1 compaction strategy ( #964 )
...
* feat: impl simple compaction strategy
* chore: rebase to develop and fix clippy warnings
* chore: simplify time bucket strcut
* chore: some typos
2023-02-11 21:10:24 +08:00
Lei, HUANG
1e9918ddf9
feat: compaction scheduler and rate limiter ( #947 )
...
* wip: compaction schdduler
* feat: imple simple compaction scheduler
* fix: typo
* feat: add generic parameter to make scheduler friendly to tests
* chore: add more tests
* fix: CR comments
* fix: CR comments
* fix: ensure idempotency for rate limit token
* fix: Cr ct omments
2023-02-09 11:43:20 +08:00
Yingwen
b2ad0e972b
feat: Define procedure related traits ( #904 )
...
* chore: Move uuid to workspace.dependencies
* feat: Define procedure related traits
* test: Add tests
* chore: Update imports
* feat: Submit ProcedureWithId to manager
* chore: pub ProcedureId::parse_str
* refactor: ProcedureId::parse_str returns Result
* chore: Address CR comments
Also implements FromStr for ProcedureId
2023-01-31 14:17:28 +08:00
Lei, HUANG
43aefc5d74
feat: prunine sst files according to time range in filters ( #887 )
...
* 1. Reimplement Eq for Timestamp
2. Add and/or for GenericRange
* feat: extract time range from filters
* feat: select sst files according to time range
* fix: clippy
* fix: empty value in range
* fix: some cr comments
* fix: return optional timestamp range
* fix: cr comments
2023-01-28 15:16:41 +08:00
Lei, HUANG
4015dd8075
feat: record sst file time range in FileMeta ( #860 )
...
* feat: record sst file time range in FileMeta
* fix: clippy
* chore: add some log and doc
2023-01-11 21:16:07 +08:00
Yingwen
b39dbcbda9
fix: Fix deleting table with non null column ( #849 )
...
If the table has a non-null column, we need to use default value instead
of null to fill the value columns in the record batch for deletion.
Otherwise, we can't create the record batch since the schema check
doesn't allow null in the non-null column.
2023-01-11 20:06:46 +08:00
LFC
72f05a3137
feat: flight aboard ( #840 )
...
feat: replace old GRPC interface with Arrow Flight
2023-01-09 17:06:24 +08:00
Lei, HUANG
fa54870197
fix: parquet native row group pruning support ( #845 )
...
* fix: parquet native row group pruning support
* fix: use filter_map instead of flat_map
2023-01-09 12:10:14 +08:00