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
Lei, HUANG
d10de46e03
feat: support timestamp precision on creating table ( #1332 )
...
* feat: support timestamp precision on creating table
* fix sqlness
* fix: substrait representation of different timestamp precision
2023-04-06 11:18:20 +08:00
Weny Xu
ef134479ef
feat: support multi table engines in distributed mode ( #1316 )
...
* chore: bump greptime-proto to 59afacd
* feat: support multi table engines in distributed mode
2023-04-04 10:27:08 +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
Ruihang Xia
c0132e6cc0
feat: impl quantile_over_time function ( #1287 )
...
* fix qualifier alias
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix in another way
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl quantile_over_time
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 >
2023-04-02 16:20:32 +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
localhost
a2b262ebc0
chore: add http metrics server in datanode node when greptime start in distributed mode ( #1256 )
...
* chore: add http metrics server in datanode node when greptime start in distributed mode
* chore: add some docs and license
* chore: change metrics_addr to resolve address already in use error
* chore add metrics for meta service
* chore: replace metrics exporter http server from hyper to axum
* chore: format
* fix: datanode mode branching error
* fix: sqlness test address already in use and start metrics in defualt config
* chore: change metrics location
* chore: use builder pattern to builder httpserver
* chore: remove useless debug_assert macro in httpserver builder
* chore: resolve conflicting build error
* chore: format code
2023-03-31 18:37:52 +08:00
dennis zhuang
972f64c3d7
chore: improve opendal layers ( #1295 )
...
* chore: improve opendal layers
* chore: log level
2023-03-31 09:48:11 +00:00
LFC
eb77f9aafd
feat: start LocalManager in Metasrv ( #1279 )
...
* feat: procedure store in Metasrv, backed by Etcd; start `LocalManager` in Metasrv leader
* fix: resolve PR comments
* fix: resolve PR comments
2023-03-31 15:32:59 +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
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
LFC
92963b9614
feat: execute "delete" in query engine (in the form of "LogicalPlan") ( #1222 )
...
fix: execute "delete" in query engine (in the form of "LogicalPlan")
2023-03-24 12:11:58 +08:00
Eugene Tolbakov
5397a9bbe6
feat(to_unixtime): add initial implementation ( #1186 )
...
* feat(to_unixtime): add initial implementation
* feat(to_unixtime): use Timestamp for conversion
* feat(to_unixtime): implement conversion to Result<VectorRef>
* feat(to_unixtime): make unit test pass
* feat(to_unixtime): preserve None for invalid timestamps
* feat(to_unixtime): address code review suggestions
* feat(to_unixtime): add an sqlness test
* feat(to_unixtime): adjust the assertion for the sqlness test
* Update tests/cases/standalone/common/select/dummy.sql
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2023-03-21 12:41:07 +00:00
LFC
b2a09c888a
feat: phi accrual failure detector ( #1200 )
2023-03-21 11:47:47 +08:00
Ruihang Xia
0a22375ac1
fix: nyc-taxi bench suite ( #1204 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-03-20 21:53:01 +08:00
Weny Xu
e19c8fa2b6
refactor: combine Copy To and Copy From ( #1197 )
...
* refactor: combine Copy To and Copy From
* Apply suggestions from code review
Co-authored-by: LFC <bayinamine@gmail.com >
* Apply suggestions from code review
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
---------
Co-authored-by: LFC <bayinamine@gmail.com >
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2023-03-20 19:23:25 +08:00
Ning Sun
a7676d8860
refactor: port div_ceil from stdlib to avoid unstable features ( #1191 )
...
* refactor: use float div&ceil to avoid unstable features
* refactor: port div_ceil from rust stdlib
2023-03-16 22:55:35 +08:00
Xieqijun
cd8be77968
feat(procedure): Max retry time ( #1095 )
...
* feat: procedure config
* fix: modify config
* feat: add retry logic
* feat: add error
* feat: add it
* feat: add it
* feat: add it
* feat: rm retry from runner
* feat: use backon
* feat: add retry_interval
* feat: add retry_interval
* fix: conflict
* fix: cr
* feat: add retry error and id
* feat: rename
* refactor: execute
* feat: use config dir
* fix: cr
* fix: cr
* fix: fmt
* fix: fmt
* fix: pr
* fix: it
* fix: rm unless cmd params
* feat: add toml
* fix: ut
* feat: add rolling back
* fix: cr
* fix: cr
* fix: cr
* fix: ci
* fix: ci
* fix: ci
* chore: Apply suggestions from code review
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-03-15 08:28:08 +00:00
Eugene Tolbakov
b530ac9e60
chore(from_unixtime): remove UDF from_unixtime ( #1179 )
...
* chore(from_unixtime): remove UDF from_unixtime
* chore(from_unixtime): restore timestamp.rs for further usage
* chore(from_unixtime): address fmt issue
2023-03-15 16:27:09 +08:00
Lei, HUANG
757b4a87a0
fix: remove profile in mem-prof crate to suppress compiler warnings ( #1146 )
2023-03-09 03:39:24 +00: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
Ruihang Xia
3a527c0fd5
feat: impl proc macro range_fn and some aggr_over_time functions ( #1072 )
...
* impl range_fn proc macro
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl some aggr_over_time fn
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl present_over_time and absent_over_time
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* accomplish planner, and correct type cast
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clean up
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* document the macro
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix styles
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update irate/idelta test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add test cases
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 >
2023-03-07 23:39:45 +08:00
Lei, HUANG
a4c01f4a3a
feat: memory profiling ( #1124 )
...
* feat: use jemalloc as default allocator
* feat: add feature for mem-prof
* feat: add errors
* make common-mem-prof optional dep
* fix: toml format
* doc: add profile doc
* fix: typo
2023-03-07 17:12:51 +08:00
discord9
379f581780
test: add Integrated Test for Coprocessor& fix minor bugs ( #1122 )
...
* feat: cache `Runtime`
* fix: coprstream schema not set
* test: integrated tests for Coprocessor
* fix: UDF fixed
* style: remove unused import
* chore: remove more unused import
* feat: `filter`, (r)floordiv for Vector
* chore: CR advices
* feat: auto convert to `lit`
* chore: fix typo
* feat: from&to `pyarrow.array`
* feat: allow `pyarrow.array` as args to builtins
* chore: cargo fmt
* test: CI add `pyarrow`
* test: install Python&PyArrow in CI
* test: not cache depend for now
* chore: CR advices
* test: fix name
* style: rename
2023-03-06 19:20:59 +08:00
yuanbohan
9a87f5edf8
fix(grpc): support timestamp precision ( #1113 )
2023-03-02 17:33:59 +08:00
Yingwen
3fd9c2f144
feat: Store error in procedure state ( #1062 )
...
* docs: Change comment position
* refactor(procedure): Store error in ProcedureState
* test: Mock instance with procedure enabled
* feat: Add wait method to wait for procedure
* test(datanode): Test create table by procedure
* chore: Fix clippy
2023-03-01 14:37:50 +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
LFC
11d45e2918
refactor: upgrade DataFusion, Arrow and Sqlparser ( #1074 )
...
* refactor: upgrade DataFusion, Arrow and Sqlparser
* fix: resolve PR comments
2023-02-27 22:20:08 +08:00
Xieqijun
0b3f955ca7
feat: Add an error variant RetryLater ( #1058 )
...
* feat: support retry error
* fix: ci
* fix: ci
* fix: fmt
* feat: add convert procedure error
* Docs : add rustdoc
* fix: cr
* fix: cr
* fix: rm unless code
2023-02-27 17:19:37 +08:00
Ning Sun
4b58a8a18d
feat: update substrait and prost version ( #1080 )
2023-02-27 15:18:12 +08:00
Yingwen
bd377ef329
feat: Procedure to create table and register table to catalog ( #1040 )
...
* feat: Add table-procedures crate
* feat: Implement procedure to create table
* feat: Integrate procedure manager to datanode
* test: Test CreateTableProcedure
* refactor: Rename table-procedures to table-procedure
* feat: Implement create_table_by_procedure
* chore: Remove comment
* chore: Add todo
* feat: Add procedure config to standalone mode
* feat: Register table-procedure loaders
* feat: Address review comments
CreateTableProcedure just return error if the subprocedure is failed
* chore: Address CR comments
2023-02-27 11:49:23 +08:00
Ruihang Xia
4cc3ac37d5
feat: add DictionaryVector DataType ( #1061 )
...
* fix stddev and stdvar. try build range function expr
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* feat: add dictionary data type
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* preserve timestamp column in range manipulator
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* plan range functions
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typo
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-02-23 20:31:07 +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
Yingwen
c6f2db8ae0
feat(procedure): Add procedure watcher ( #1043 )
...
* refactor: Use watch channel to store ProcedureState
* feat: Add a watcher to wait for state change
* test: test watcher on procedure failure
* feat: Only clear message cache on success
* feat: submit returns Watcher
2023-02-21 17:19:39 +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
Yingwen
aaaf24143d
feat: Procedure to create a mito engine ( #1035 )
...
* feat: wip
* feat: Implement procedure to create mito table
* feat: Add create_table_procedure to TableEngine
* feat: Impl dump and lock for CreateMitoTable
* feat: Impl CreateMitoTable::execute and register it to manager
* feat(common-procedure): pub local mod
* feat: Add simple test for MitoCreateTable
* style: Fix clippy
* refactor: Move create_table_procedure to a new trait TableEngineProcedure
2023-02-21 09:40:56 +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
Yingwen
ddbc97befb
refactor: changes CreateTableRequest::schema to RawSchema ( #1018 )
...
* refactor: changes CreateTableRequest::schema to RawSchema
* refactor(grpc-expr): create_table_schema returns RawSchema
2023-02-16 16:04:17 +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
Yingwen
04afee216e
feat(procedure): Support multi-lock keys and querying procedure state from context ( #1006 )
...
* feat: Add ContextProvider to Context
So procedures can query states of other procedures via the
ContextProvider and they don't need to hold a ProcedureManagerRef
* feat: Procedure supports acquring multiple lock keys
* test: Use multi-locks in test
* feat: Add keys_to_lock/unlock
2023-02-15 18:04:19 +08:00
Ning Sun
cd0d58cb24
fix: correct date/time type format for postgresql ( #1001 )
...
* fix: correct date/time type format for postgresql
* fix: tests for timestamp
* refactor: use Utc datetime for timestamp::to_chrono_datetime
* Update src/servers/Cargo.toml
Co-authored-by: LFC <bayinamine@gmail.com >
---------
Co-authored-by: LFC <bayinamine@gmail.com >
2023-02-15 09:40:16 +00:00
shuiyisong
e17d564bf0
feat: add client tls option to channel manager config ( #999 )
...
* feat: add client tls to channel manager config
* chore: move test to tests folder
* chore: fix license issue
* chore: fix cr issue
2023-02-15 16:02:27 +08:00
Zheming Li
a19dee1dc0
feat: duplicate error logs into separate file ( #995 )
...
Signed-off-by: Zheming Li <nkdudu@126.com >
2023-02-15 14:27:32 +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
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
Yingwen
0f7e5a2fb2
feat: Implement LocalManager::recover ( #981 )
...
* feat: Implement LocalManager::recover
* feat: Impl From<ObjectStore> for ProcedureStore
2023-02-14 14:50:43 +08:00
Yingwen
be897efd01
feat: Execute procedure in LocalManager ( #953 )
...
* feat: Runner executes procedure
* feat: Add rollback key type to ParsedKey
* feat: Write rollback key when procedure is unable to execute
* feat: Use loaded step to re-submit subprocedure
* feat: Track subprocedures in ProcedureMeta
* feat: Clean message cache after the root procedure is done
* feat: Runner returns execution result
* fix: Fix tests
* test: Test Runner
* test: Test procedures_in_tree
* chore: Refine test and comments
* feat: Remove support of lock inheritance
A deadlock happens if a subprocedure acquires the same lock key as
its parent.
The main concern is if the subprocedure directly inherits its parent's
lock, then how should we behave when multiple subprocedures acquire
this same lock? Each procedure may assume it has unique access to the
same object but it actually shares the resource with others.
Now subprocedures need to use different keys to lock objects, which is
reasonable. For example:
- A parent procedure wants to create a table so it locks the table with
a key like `catalog.schema.table`
- Subprocedures create regions for the table so they lock the regions
with keys `catalog.schema.table.region-0 ~ catalog.schema.table.region-n`
* style: Fix clippy
* feat: insert_procedure returns false on duplicate procedure
Also rename this method to try_insert_procedure
* chore: Address CR comments
2023-02-13 10:38:56 +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