Yingwen
00e4bd45f0
feat: add put_only field to skip filtering deletion ( #2801 )
...
* feat: add put_only field to skip filtering deletion
* docs: fix typo
2023-11-24 06:33:17 +00:00
Ruihang Xia
99dbb7401c
refactor: remove sequence number from ScanRequest ( #2785 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-11-21 07:38:30 +00:00
Yingwen
b9146c88ff
refactor: Remove usages of the old storage crate ( #2777 )
...
* chore: remove storage from some crate
* feat: remove storage config
* feat: remove storage from cmd
* feat: impl stream_to_parquet
* feat: remove storage from operator
* feat: remove stream writer from mito2
* feat: remove storage from project toml
* test: fix config api test
* docs: remove outdated configs
* refactor: remove storage directory
2023-11-20 20:29:41 +08:00
Yingwen
ce959ddd3f
feat(mito): implements row group level page cache ( #2688 )
...
* feat: add page cache
* docs: update mito config toml
* feat: impl CachedPageReader
* feat: use cache reader to read row group
* feat: do not fetch data if we have pages in cache
* chore: return if nothing to fetch
* feat: enlarge page cache size
* test: test write read parquet
* test: test cache
* docs: update comments
* test: fix config api test
* feat: cache metrics
* feat: change default page cache size
* test: fix config api test
2023-11-20 02:55:50 +00:00
WU Jingdi
500e299e40
feat: Enable distributed tracing in greptimedb ( #2755 )
...
* feat: implement distributed tracing
* fix: change usage of span
* fix: use otlp as exporter
* chore: update dependence
* chore: add span info
* chore: add alias
* chore: use instrument instead of trace
2023-11-17 08:51:57 +00:00
Ruihang Xia
ac4b6cd7f0
feat: write logical region to metric engine ( #2759 )
...
* transform write request
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add tests for put request
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* use table_id instead of metric_name
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typo
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* CR sugg.
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* define random state as const
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-11-17 07:44:11 +00:00
Yingwen
2aa6ac5731
fix: correct memtable cost ( #2762 )
2023-11-17 02:58:51 +00:00
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
Lei, HUANG
a24f8c96b3
perf: disable dictionary of ts columns ( #2749 )
...
* perf: disable dictionary of ts columns
* fix: unit test
2023-11-15 06:14:28 +00:00
Yingwen
f92b55c745
feat: Ignore file not found error temporarily while compacting files ( #2745 )
...
* feat: support ignoring file not found error
* feat: ignore not found during compaction
2023-11-15 03:48:51 +00:00
Ruihang Xia
e2a770f8de
fix: handle if num_cpus / 2 == 0 ( #2740 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-11-14 06:44:10 +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
Lei, HUANG
b53537e69b
fix: unify all sst_write_buffer_size usage ( #2712 )
...
* fix: unify all sst_write_buffer_size usage
* fix: some CR comments
* fix: logs
2023-11-09 11:22:47 +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
Yingwen
1f57c6b1f0
feat(mito): Add metrics to read path ( #2701 )
...
* feat: SST metrics and debug log
* feat: add parquet metrics
* feat: iter memtable metrics
* feat: memtable metrics and read elapsed
* feat: merge metrics
* feat: seq scan metrics
* chore: typo
* test: fix merge test
* feat: fix compiler errors
* feat: scan region log level
* feat: add build cost to seq scan metrics
* feat: adjust memtable log level
* fix: correct merge metrics
2023-11-08 07:38:04 +00:00
Lei, HUANG
c79bb5a936
fix: memtable prune ( #2698 )
...
* fix: memtable prune
* test: add memtable prune test case with complex filter
* fix: test format
2023-11-07 06:44:21 +00:00
Niwaka
e9f7579091
feat: support region ddl for custom_storage ( #2679 )
...
* feat: support region ddl for custom_storage
* fix: typo
* fix: propagate error
* refactor: have manifest_options accept RegionOptions
* chore: improve document
2023-11-06 11:18:47 +00:00
Yingwen
395632c874
feat(mito): filters memtables by their time ranges ( #2686 )
...
* feat: filter memtable by time range
* fix: incorrect time range returned by time series memtable
* test: test memtable pruning
2023-11-03 08:48:21 +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
Yingwen
5f3bbdca4f
feat(mito): Reads SST's row groups one by one ( #2668 )
...
* feat: read parquet metadata
* feat: add create method for row group
* feat: read parquet by row group
* refactor: use VecDeque to collect batches
* style: fix row group clippy warnings
* chore: update comments
* style: fix clippy
* refactor: simplify row group reader builder
* docs: fix grammar issue
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
* chore: format code
---------
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2023-11-01 03:59:16 +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
Weny Xu
54ed7529ca
feat: introduce the region role ( #2640 )
...
* feat: introduce region role
* chore: apply suggestions from CR
2023-10-31 06:59:22 +00:00
Yingwen
465c8f714e
feat(mito): avoid buffering all batches for the same primary key ( #2658 )
...
* feat: Control merge reader by batch size
* test: test heap have large range
* fix: merge one batch
* test: merge many duplicates
* test: test reheap hot
* feat: don't handle empty batch in merge reader
2023-10-31 06:36:31 +00:00
Wei
36c0742c45
feat: region disk usage statistic ( #2665 )
...
* feat: region usage
* chore: code comment
* chore: unit test
* feat: region usage for engine
* chore: rename to region usage
* feat: add to heartbeat
* chore: u64 to i64 convert
* chore: cr comment.
Co-authored-by: Yingwen <realevenyag@gmail.com >
* Update src/file-engine/src/engine.rs
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2023-10-31 03:57:37 +00:00
Niwaka
000e1471eb
feat: make mito2 have ObjectStoreManager(initial) ( #2643 )
...
* feat: make mito2 have object_store_manager(initial)
* chore: address review
* refactor: Arc<ObjectStoreManager> to ObjectStoreManagerRef and replace Vec with tuple
* fix: add ObjectStoreManager::from_default
* fix: remove cfg(test)
* fix: remove try_new from ObjectStoreManager
2023-10-30 13:16:04 +00:00
Wei
958ff3f185
feat: estimate region wal size ( #2652 )
...
* feat: estimated wal size
* chore: modify factor
* chore: cr comment
* chore: add TODO
2023-10-27 02:46:24 +00:00
Ruihang Xia
5d8b0e8154
chore: bump dependencies ( #2659 )
...
* fix all hard error
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix nextest
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* trivial changes
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix order by
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix sql keyword and data type
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix range exec's input partitioning
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix cover input type
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix explain analyze
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update distributed mode sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix lints
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update locks
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* downgrade dlv-list
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-10-26 12:24:14 +00:00
Yingwen
16a3257ada
fix: add serde default to MitoConfig ( #2650 )
...
* fix: add serde default to MitoConfig
* docs: update config toml
2023-10-24 11:24:47 +00:00
Lei, HUANG
97897aaf9b
fix: predicate shall use real schema to create physical exprs ( #2642 )
...
* fix: prune predicate show use real schema to create physical exprs
* refactor: remove redundant results
* fix: unit tests
* test: add more sqlness cases
* test: add more sqlness cases
* fix: sqlness orderby
* chore: update log
* fix: cache physical expr in memtable iter
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-10-24 03:41:25 +00:00
Wei
1fc42a681f
refactor: create_or_open always set writable ( #2641 )
...
feat: set opened region writable
2023-10-23 10:32:51 +00:00
Wei
fbc8f56eaa
feat: lookup manifest file size ( #2590 )
...
* feat: get manifest file size
* feat: manifest size statistics
* refactor: manifest map key
* chore: comment and unit test
* chore: remove no-use function
* chore: change style
* Apply suggestions from code review
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: cr comment
* chore: cr comment
* chore: cr comment
* chore: cr comment
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-10-23 08:59:00 +00:00
Yingwen
82dbc3e1ae
feat(mito): Ports InMemoryRowGroup from parquet crate ( #2633 )
...
* feat: ports InMemoryRowGroup from parquet
* chore: pub InMemoryRowGroup
* style: allow some clippy lints
2023-10-23 02:22:19 +00:00
Lei, HUANG
c9c2b3c91f
fix: revert memtable pk rb cache to rwlock ( #2565 )
...
* fix: revert memtable pk rb cache to rwlock
* feat: refine
2023-10-10 20:51:05 +08:00
Lei, HUANG
6b39f5923d
feat: add compaction metrics ( #2560 )
...
* feat: add compaction metrics
* feat: add compaction request total count
* fix: CR comments
2023-10-10 07:38:39 +00:00
Yingwen
8a5ef826b9
fix(mito): Do not write to memtables if writing wal is failed ( #2561 )
...
* feat: add writes total metrics
* fix: don't write memtable if write ctx is failed
* feat: write rows metrics
2023-10-10 06:55: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
Yingwen
d4577e7372
feat(mito): add metrics to mito engine ( #2556 )
...
* feat: allow discarding a timer
* feat: flush metrics
* feat: flush bytes and region count metrics
* refactor: add as_str to get static string
* feat: add handle request elapsed metrics
* feat: add some write related metrics
* style: fix clippy
2023-10-10 03:53:17 +00:00
Yingwen
81aa7a4caf
chore(mito): change default batch size/row group size ( #2550 )
2023-10-09 11:10:12 +00:00
Yingwen
d68dd1f3eb
fix: schema validation is skipped once we need to fill a column ( #2548 )
...
* test: test different order
* test: add tests for missing and invalid columns
* fix: do not skip schema validation while missing columns
* chore: use field_columns()
* test: add tests for different column order
2023-10-09 09:20:51 +00:00
Yingwen
0593c3bde3
fix(mito): pruning for mito2 ( #2525 )
...
* fix: pruning for mito2
* chore: refactor projection parameters; add some tests; customize row group size for each flush task.
* chore: pass whole RegionFlushRequest
---------
Co-authored-by: Lei, HUANG <mrsatangel@gmail.com >
2023-10-08 03:45:15 +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
657542c0b8
feat(mito): Cache repeated vector for tags ( #2523 )
...
* feat: add vector_cache to CacheManager
* feat: cache repeated vectors
* feat: skip decoding pk if output doesn't contain tags
* test: add TestRegionMetadataBuilder
* test: test ProjectionMapper
* test: test vector cache
* test: test projection mapper convert
* style: fix clippy
* feat: do not cache vector if it is too large
* docs: update comment
2023-10-07 11:36:00 +00:00
Yingwen
fe783c7c1f
perf(mito): Use a heap to merge batches for the same key ( #2521 )
...
* feat: merge by heap
* fix: fix heap order
* feat: avoid pop/push next and refactor some functions
* feat: replace merge_batches and fixe tests
* test: add test that a key is deleted
* fix: skip empty batch
* style: clippy
* chore: fix typos
2023-10-07 02:56:08 +00:00
Zhenchi
201acd152d
fix: missing file engine with default options ( #2519 )
...
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
2023-09-28 10:25:12 +00:00
Yingwen
db6ceda5f0
fix(mito): fix region drop task runs multiple times but never clean the dir ( #2504 )
...
fix: fix region drop task runs multiple times but never clean the directory
2023-09-27 02:58:17 +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
7ecfaa240f
refactor(mito): remove #[allow(dead_code)] ( #2479 )
2023-09-25 09:20:00 +00:00
Yingwen
73842f10e7
fix(mito): normalize region dir in RegionOpener ( #2475 )
...
fix: normalize region dir in RegionOpener
2023-09-23 10:06:00 +00:00
Yingwen
32d1d68441
fix(mito): reset is_sorted to true after the merger finishing one series ( #2474 )
...
fix: reset is_sorted flag to true after the merger finishing one series
2023-09-23 10:05:34 +00:00