Wei
ae27fbc7f2
feat: impl Vector, DataType traits for decimal128 ( #2727 )
...
* feat: decimal128 vector
* feat: Decimal128Type in datatypes
* refactor: cast function
* feat: decimal128 type in ConcreteDataType
* chore: decimal
* chore: sql_data_type_to_concrete_data_type
* chore: cr comment
Co-authored-by: Dennis Zhuang <killme2008@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: fix finish()
* chore: add debug_assert to new decimal128
---------
Co-authored-by: Dennis Zhuang <killme2008@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-11-16 06:44:26 +00:00
Ruihang Xia
6599bb5a46
feat: do not require worker's number to be power of 2 ( #2732 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-11-13 09:04:44 +00:00
Ruihang Xia
93f21b188d
chore: unify workspace dependencies and remove some unused ( #2713 )
...
* log-store
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* base64
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* udeps
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* snafu
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* snafu style
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* change the workspace deps' style
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-11-09 07:34:22 +00:00
Ruihang Xia
0dca63bc7b
feat: Metric engine skeleton ( #2687 )
...
* metadata region logic
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix mito2 test feature gate
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* override unused warnings
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add basic test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* apply review sugg
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy lints
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-11-03 08:34:08 +00:00
WU Jingdi
180bc64cb0
feat: change metric crate from metrics to prometheus ( #2655 )
...
* feat: change metrics to prometheus
* chore: fix code advise
* chore: resolve merge conflict
* chore: fix code advise
2023-10-31 15:46:57 +00:00
Lei, HUANG
8bdef9a348
feat: memtable filter push down ( #2539 )
...
* feat: memtable support filter pushdown to prune primary keys
* fix: switch to next time series when pk not selected
* fix: allow predicate evaluation failure
* fix: some clippy warnings
* fix: panic when no primary key in schema
* feat: cache decoded record batch for primary key
* refactor: use arcswap instead of rwlock
* fix: format toml
2023-10-10 04:03:10 +00:00
dennis zhuang
ff15bc41d6
feat: improve object storage cache ( #2522 )
...
* feat: refactor object storage cache with moka
* chore: minor fixes
* fix: concurrent issues and invalidate cache after write/delete
* chore: minor changes
* fix: cargo lock
* refactor: rename
* chore: change DEFAULT_OBJECT_STORE_CACHE_SIZE to 256Mib
* fix: typo
* chore: style
* fix: toml format
* chore: toml
* fix: toml format
* Update src/object-store/src/layers/lru_cache/read_cache.rs
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* chore: update Cargo.toml
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: update src/object-store/Cargo.toml
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: refactor and apply suggestions
* fix: typo
* feat: adds back allow list for caching
* chore: cr suggestion
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: cr suggestion
Co-authored-by: Yingwen <realevenyag@gmail.com >
* refactor: wrap inner Accessor with Arc
* chore: remove run_pending_task in read and write path
* chore: the arc is unnecessary
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-10-08 03:27:49 +00:00
Yingwen
a6116bb866
feat(mito): Add cache manager ( #2488 )
...
* feat: add cache manager
* feat: add cache to reader builder
* feat: add AsyncFileReaderCache
* feat: Impl AsyncFileReaderCache
* chore: move moka dep to workspace
* feat: add moka cache to the manager
* feat: implement parquet meta cache
* test: test cache manager
* feat: consider vec size
* style: fix clippy
* test: fix config api test
* feat: divide cache
* test: test disabling meta cache
* test: fix config api test
* feat: remove meta cache if file is purged
2023-09-26 11:46:19 +00:00
Ruihang Xia
515ce825bd
feat: stack trace style debug print for error ( #2489 )
...
* impl macro stack_trace_debug
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* manually mark external error
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* ignore warnings
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy warnings
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* use debug print
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplify the error and warn macro
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix ut
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add docs
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* replace snafu backtrace with location
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-09-26 11:23:21 +00:00
Yingwen
7b606ed289
feat(mito): make use of options in RegionCreate/OpenRequest ( #2436 )
...
* refactor: move RegionOptions to options mod
* refactor: define compaction strategy in region/options.rs
* feat: use duration for time window
* refactor: rename CompactionStrategy to CompactionOptions
* feat: use serde to parse options
* feat: parse options
* feat: set options on creation/opening
* test: test create/open with options
* chore: remove todo
* feat: get compaction ttl and options from RegionOptions
* style: fix clippy
* chore: Remove unused engine_options
* style: fix clippy
* chore: remove todo
2023-09-19 09:06:09 +00:00
Yingwen
4a82926d72
docs: fix cargo doc errors and warnings ( #2421 )
...
* docs: fix cargo doc warnings and errors
* docs: fix warnings
* docs: fix warnings
* chore: rm src/common/function-macro/src/lib.rs
2023-09-17 11:45:15 +00:00
dennis zhuang
627c5b7419
feat: move table operations from frontend to operator crate ( #2411 )
...
* feat: move table operations from frontend to operator crate
* chore: blank line
* fix: toml format
* chore: move constants
2023-09-16 07:58:45 +00:00
Lei, HUANG
3331e3158c
feat(mito2): compaction ( #2317 )
...
* feat: compaction component
* feat: mito2 compaction
* Avoid building time range predicates when merge SST files since in TWCS we don't enforce strict time window.
* fix: some CR comments
* minor: change CompactionRequest::senders to an option
* chore: handle compaction finish error
* feat: integrate compaction into region worker
* chore: rebase upstream
* fix: Some CR comments
* chore: Apply suggestions from code review
* style: fix clippy
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-09-12 07:57:15 -05:00
Ruihang Xia
f71aa373c1
feat: start datanode with config ( #2312 )
...
* remove memory-catalog and procedure
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* derive serde for MitoConfig
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* start datanode with configs
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove dir in WalConfig
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add rename field attr
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add stupid duplicated mito config
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove wrong import
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* wired compile error
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-09-12 07:57:15 -05:00
Yingwen
648b2ae293
feat(mito): Flush region ( #2291 )
...
* chore: call handle_flush_request
* feat: alias SchedulerRef and clean scheduler on drop
* feat: add scheduler to workers
* feat: remove RegionMemtableStats
* feat: pick regions to flush
* feat: add more fields to region flush task
* feat: smallvec workspace dep
* feat: Use list to hold immutable memtables
* feat: flush job wip
* feat: use access layer to read write sst
* feat: flush memtables to l0
* feat: write manifest
* feat: schedule next flush on success
* feat: schedule flush on success and failure
* feat: add purger to region
* feat: apply edit after flush
* feat: collect stats for SSTs
* feat: manual flush
* test: test flush and fix manifest test
* feat: remove flush scheduler job limit
* fix: typo
* style: clippy
* feat: clean flushed files on failure
* chore: address CR comment
* refactor: Use put_rows
* feat: Clean flush scheduler on drop
* feat: remove region flush status on drop and close
* chore: address CR comment
2023-09-12 07:57:15 -05:00
Lei, HUANG
86d56f71ef
fix: flume bug ( #2298 )
...
fix: flume
2023-09-12 07:57:15 -05:00
LFC
ef75e8f7c3
feat: create distributed Mito2 table ( #2246 )
...
* feat: create distributed Mito2 table
* rebase develop
2023-08-28 12:07:52 +00:00
Bamboo1
4dbc32f532
refactor: remove associate type in scheduler to simplify it #2153 ( #2194 )
...
* feature: add a simple scheduler using flume
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* fix: only use a sender rather clone many senders
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* fix: use select to avoid loop
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* feat: add parameters in new function to build the flume capacity and number of receivers
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* test: add countdownlatch test concurrency
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* test: add barrier replacing countdownlatch to test concurrency and add wait all tasks finished in stop
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: add some document annotation
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: add license header
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: code format
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: add Cargo.lock
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: Cargo.toml format
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: delete println in test
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: code format
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: code format
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* feat: add error handle
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* fix: fix error handle and add test scheduler stop
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: spelling mistake
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* fix: wait all tasks finished
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: add todo which need wrap Future returned by send_async
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: code format
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* test: remove unnessary sleep in test
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* fix: resolve some conflicts
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* fix: resolve conversation
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: code format
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* chore: code format
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
* feat: modify the function of schedule to synchronize and drop sender after stopping scheduler
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
---------
Signed-off-by: ZhuZiyi <zyzhu2001@gmail.com >
2023-08-23 06:28:00 +00:00
Lei, HUANG
e924b44e83
refactor: KeyValues return ValueRef ( #2170 )
...
* refactor: KeyValues return ValueRef
* 1. Change KeyValues returned value from pb value to ValueRef
2. Replace OpType/SemanticType with pb's OpType and SemanticType to avoid duplicated conversions.
* feat: define min value of OpType as a const
* fix: toml format
2023-08-14 14:51:13 +00:00
Lei, HUANG
55b5df9c51
feat: row wise converter ( #2162 )
...
* feat: impl mem-comparable encoding for timestamp
* fix: test cases
* impl time series encode/decoder
* fix: merge unsupported match arms
* fix: clippy
* chore: big number delimiter
* feat: encode timestamps as i64
* fix: remove useless error variant
2023-08-14 07:13:39 +00:00
Ruihang Xia
6d64e1c296
feat(mito): checkpoint for mito2 ( #2142 )
...
* basic impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* adjust dir structure
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix styles
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typo
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sort result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* downgrade log level
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* apply CR sugg.
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add region id to log
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-08-13 09:26:01 +00:00
Ning Sun
c39de9072f
refactor: use workspace dependencies for internal modules ( #2119 )
...
* refactor: use workspace dependencies for internal modules
* fix: resolve issue with mock module in datanode
* refactor: update test modules
2023-08-08 11:02:34 +00:00
Yingwen
cb4dd89754
feat(mito): Implement mito2 Wal ( #2103 )
...
* feat: define wal struct
* feat: Implement Wal read/write
* feat: obsolete wal
* test: test wal
* refactor: use try_stream and remove async from scan
2023-08-04 11:04:25 +00:00
shuiyisong
7efff2d704
fix: introduce taplo.toml and sort Cargo.toml ( #2096 )
...
* fix: add taplo.toml
* fix: introduce taplo.toml & sort cargo.toml
* chore: remove option in ci too
2023-08-04 06:44:45 +00:00
Yingwen
e5663a075f
feat(mito): preparation to implementing write ( #2085 )
...
* refactor: move request mod
* feat: add mutation
* feat: add handle_write mod
* feat: one mutation at a time
* feat: handle write requests
* feat: validate schema
* refactor: move schema check to write request
* feat: add convert value
* feat: fill default values
* chore: remove comments
* feat: remove code
* feat: remove code
* feat: buf requests
* style: fix clippy
* refactor: rename check functions
* chore: fix compile error
* chore: Revert "feat: remove code"
This reverts commit 6516597540 .
* chore: Revert "feat: remove code"
This reverts commit 5f2b790a01 .
* chore: upgrade greptime-proto
* chore: Update comment
Co-authored-by: dennis zhuang <killme2008@gmail.com >
---------
Co-authored-by: dennis zhuang <killme2008@gmail.com >
2023-08-04 02:53:02 +00:00
gongzhengyang
0eac56a442
chore: remove unused dependencies ( #2055 )
...
Co-authored-by: gongzhengyang <gongzhengyang@bolean.com.cn >
2023-08-01 07:43:03 +00:00
Yingwen
5f65e3ff44
feat(mito): Port parquet writer and reader to mito2 ( #2018 )
...
* feat(mito): Port Batch and BufferedWriter
* feat: encode metadata to parquet
* feat: define BatchReader trait
* chore: ParquetWriter write_all takes `&mut self`
* feat(mito): port ParquetReader
* chore: fix typo
* chore: address CR comment
2023-07-24 09:35:21 +00:00
Yingwen
bb8468437e
feat(mito): Define Version and metadata builders for mito2 ( #1989 )
...
* feat: define structs for version
* feat: Build region from metadata and memtable builder
* feat: impl validate for metadata
* feat: add more fields to RegionMetadata
* test: more tests
* test: more check and test
* feat: allow overwriting version
* style: fix clippy
2023-07-19 07:50:20 +00:00
Yingwen
ef7c5dd311
feat(mito): Implement WorkerGroup to handle requests ( #1950 )
...
* feat: engine worker framework
* feat: worder comments
* feat: divide worker requests by type
* feat: handlers for worker thread
* refactor: rename requests to ddl and dml requests
* feat: methods to stop and submit requests
* refactor: rename request queue to request buffer
* refactor: remove ddl and dml request
* feat: send request to worker
* test: test stop
* docs(mito): worker group docs
* style: fix clippy
* docs: update WorkerGroup comment
* chore: address CR comments
* chore: fix comment issues
* feat: use mpsc::channel
* feat: check is_running flag
* chore: Add stop request to notify a worker
* refactor: add join_dir to join paths
* feat: redefine region requests
* docs: more comments
* refactor: rename worker thread to worker loop
* chore: address CR comments
2023-07-14 08:06:44 +00:00
Ruihang Xia
077785cf1e
refactor(mito): define manifest related API ( #1942 )
...
* refactor: port some manifest struct to mito2
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy and nextest
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* revert lock file and resolve clippy warnings
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-07-12 03:42:55 +00:00
Yingwen
65f5349767
feat(mito2): Define basic structs for MitoEngine ( #1928 )
...
* chore: metadata wip
* docs(mito2): Add struct relationships
* feat(mito2): define basic structs
* feat: add version and refactor other metadata
* docs: remove generics param from MitoEngine
* chore: Update src/mito2/Cargo.toml
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
* chore: Apply suggestions from code review
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
---------
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2023-07-10 12:25:33 +00:00
Yingwen
884731a2c8
chore: initialize mito2 crate ( #1875 )
2023-07-04 17:55:00 +08:00