Weny Xu
6e9a9dc333
refactor(log_store): remove associated type Namespace and Entry in LogStore ( #4038 )
...
* refactor(log_store): remove associated type `Namespace` in `LogStore`
* fix(test): filter entries
* refactor: ignore incomplete parts
* refactor: simplify `RawEntryReaderFilter`
* chore: avoid cloning
* test: add tests for `maybe_emit_entry`
* refactor: remove `Namespace` trait and rename `LogStoreNamespace` to `Namespace`
* chore: apply suggestions from CR
* refactor: refine `entry` method signature
* feat: ingore any potential incomplete parts
* refactor: rename `namespace` to `provider`
* chore: add debug assertion
* refactor: associated type `Entry` in `LogStore`
* refactor: renamse `namespace` to `provider`
* refactor: remove unwrap
* refactor: let `remaining_entries` return a optional vector
* test: add basic tests for kafka logstore
* refactor: move `append` method under `cfg(test)`
* refactor: rename `RawEntry` to `Entry`
* refactor: rename `CorruptedLogEntry` to `CorruptedEntry`
* test: add tests for handling corrupted raw entry stream
* refactor: rename `ns` to `provider`
* refactor: remove `entry_stream.rs` file
* chore: remove unused code
* chore: update comments
* chore: apply suggestions from CR
* chore: update comments
* chore: apply suggestions from CR
* chore: remove Deref
* chore: add comments
* fix: ignores tail corrupted data
* chore: add comments
* fix: add `MIN_BATCH_SIZE` limit
2024-05-29 13:44:01 +00:00
Weny Xu
466f7c6448
feat: add RawEntryReader and OneshotWalEntryReader trait ( #4027 )
...
* feat: add `RawEntryReader` and `OneShotWalEntryReader` trait
* chore: rename `OneShot` to `Oneshot`
* refacotr: remove `region_id` from `OneshotWalEntryReader`
2024-05-24 06:30:50 +00:00
Lei, HUANG
0d055b6ee6
refactor: remove unused log config ( #4021 )
2024-05-23 08:59:42 +00:00
Jeremyhi
72897a20e3
chore: minor refactor on etcd kvbackend ( #3940 )
...
* chore: minor refactor on etcd kvbackend
* chore: avoid clone
2024-05-14 13:25:22 +00:00
Jeremyhi
a260ba3ee7
feat: use txn to impl cas ( #3936 )
...
* feat: usr txn to impl cas
* chore: fix test
2024-05-14 08:21:27 +00:00
Weny Xu
00e21e2021
fix: potential deadlock ( #3930 )
...
fix: fix potential deadlock
2024-05-14 03:04:03 +00:00
Jeremyhi
9aa2182cb2
refactor: make txn easy to use ( #3905 )
...
refactor: put_if_not_exists and compare_and_put API
2024-05-11 04:45:04 +00:00
Ruihang Xia
115c74791d
build(deps): bump snafu to 0.8 ( #3911 )
...
* change Cargo.toml
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* global replace
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* handle alias in script engine
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 >
2024-05-10 13:36:25 +00:00
Lei, HUANG
c07a1babd5
refactor(logstore): remove Entry::namemspace ( #3875 )
...
refactor(logstore): remove LogStore::namemspace and related associate types on Entry.
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2024-05-08 06:13:33 +00:00
Ruihang Xia
530353785c
refactor: remove re-export from logging ( #3865 )
...
* refactor: remove re-export from logging
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix merge problem
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* run formatter
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-05-06 13:26:01 +00:00
Lei, HUANG
f3b68253c2
chore: remove one slice copy in wal encoding ( #3861 )
...
* chore: remove one slice copy in wal encoding
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
* fix: cr comments
---------
Signed-off-by: Lei, HUANG <mrsatangel@gmail.com >
2024-05-06 10:26:40 +00:00
maco
d5a948a0a6
test: Add tests for KvBackend trait implement ( #3700 )
...
* test: add etcd
* optimize code
* test: add etcd tests
* fix: typos
* fix: taplo error and clippy
* avoid print
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
Co-authored-by: tison <wander4096@gmail.com >
2024-04-15 10:51:59 +00:00
niebayes
d33435fa84
feat: introduce wal benchmarker ( #3446 )
...
* feat: introduce wal benchmarker
* chore: add log store metrics
* chore: add some comments to wal benchmarker
* fix: ci
* chore: add more metrics for kafka logstore
* chore: add more timers for kafka logstore
* chore: add more configs
* chore: move humantime to common dependencies
* refactor: refactor wal benchmarker
* fix: apply suggestions from code review
* doc: add a simple README for wal benchmarker
* fix: Cargo.toml
* fix: clippy
* chore: rename wal.rs to wal_bench.rs
* fix: compile
2024-04-03 03:16:05 +00:00
dimbtp
dd18d8c97b
build(deps): remove some unused dependencies ( #3582 )
...
* build(deps): remove some unused dependencies
* add `arc-swap` dependency back
2024-03-26 12:48:28 +00:00
JeremyHi
da098f5568
fix: make max-txn-ops limit valid ( #3481 )
2024-03-11 09:27:51 +00:00
JohnsonLee
a50025269f
feat: Support automatic DNS lookup for kafka bootstrap servers ( #3379 )
...
* feat: Support automatic DNS lookup for kafka bootstrap servers
* Revert "feat: Support automatic DNS lookup for kafka bootstrap servers"
This reverts commit 5baed7b01d .
* feat: Support automatic DNS lookup for Kafka broker
* fix: resolve broker endpoint in client manager
* fix: apply clippy lints
* refactor: slimplify the code with clippy hint
* refactor: move resolve_broker_endpoint to common/wal/src/lib.rs
* test: add mock test for resolver_broker_endpoint
* refactor: accept niebayes's advice
* refactor: rename EndpointIpNotFound to EndpointIPV4NotFound
* refactor: remove mock test and simplify the implementation
* docs: add comments about test_vallid_host_ipv6
* Apply suggestions from code review
Co-authored-by: niebayes <niebayes@gmail.com >
* move more common code
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
Co-authored-by: tison <wander4096@gmail.com >
Co-authored-by: niebayes <niebayes@gmail.com >
2024-02-29 07:29:20 +00:00
SteveLauC
e9a2b0a9ee
chore: use workspace-wide lints ( #3352 )
...
* chore: use workspace-wide lints
* respond to review
2024-02-22 01:01:10 +00:00
tison
3dfe4a2e5a
chore: check dirs before create RaftEngine store ( #3327 )
...
* chore: check dirs before create RaftEngine store
Signed-off-by: tison <wander4096@gmail.com >
* fix impl
Signed-off-by: tison <wander4096@gmail.com >
* improve naming
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
2024-02-20 07:48:15 +00:00
tison
4e04a4e48f
build: support build without git ( #3309 )
...
* build: support build without git
Signed-off-by: tison <wander4096@gmail.com >
* chore
Signed-off-by: tison <wander4096@gmail.com >
* address comment
Signed-off-by: tison <wander4096@gmail.com >
* fix syntax
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
2024-02-18 10:30:01 +00:00
niebayes
63205907fb
refactor: introduce common-wal to aggregate wal stuff ( #3171 )
...
* refactor: aggregate wal configs
* refactor: move wal options to common-wal
* chore: slim Cargo.toml
* fix: add missing crates
* fix: format
* chore: update comments
* chore: add testing feature gate for test_util
* fix: apply suggestions from code review
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
* fix: apply suggestions from code review
* fix: compiling
---------
Co-authored-by: JeremyHi <jiachun_feng@proton.me >
2024-01-18 03:49:37 +00:00
Weny Xu
430ffe0e28
fix(kafka): overwrite the EntryId with Offset while consuming records ( #3148 )
...
* fix(kafka): overwrite the EntryId with Offset while consuming the KafkaRecords
* fix: temporarily workaround of incorrect entry Id
2024-01-12 03:46:17 +00:00
niebayes
a0a31c8acc
chore(remote_wal): remove topic alias ( #3120 )
...
chore: remove topic alias
2024-01-09 07:35:02 +00:00
Lei, HUANG
2c1b1cecc8
chore: add bound check for raft-engine logstore ( #3073 )
...
* chore: add bound check for raft-engine logstore
* feat: add bound check to append_batch API
* chore: check entry id during replay
* chore: resolve conflicts
* feat: add allow_stale_entries options to force obsolete wal entries
* chore: resolve some comments
2024-01-09 06:42:46 +00:00
Lei, HUANG
62db28b465
feat: add options to enable log recycle and periodical fsync ( #3114 )
...
* feat: add options to enable log recycle and periodical fsync
* fix: resolve review comments
* fix: conflicts
2024-01-09 06:41:23 +00:00
niebayes
8c58d3f85b
test(remote_wal): add unit tests for kafka remote wal ( #2993 )
...
* test: add unit tests
* feat: introduce kafka runtime backed by testcontainers
* test: add test for kafka runtime
* fix: format
* chore: make kafka image ready to be used
* feat: add entry builder
* tmp
* test: add unit tests for client manager
* test: add some unit tests for kafka log store
* chore: resolve some todos
* chore: resolve some todos
* test: add unit tests for kafka log store
* chore: add deprecate develop branch warning
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* tmp: ready to move unit tests to an indie dir
* test: update unit tests for client manager
* test: add unit tests for meta srv remote wal
* fix: license
* fix: test
* refactor: kafka image
* doc: add doc example for kafka image
* chore: migrate kafka image to an indie PR
* fix: CR
* fix: CR
* fix: test
* fix: CR
* fix: update Cargo.toml
* fix: CR
* feat: skip test if no endpoints env
* fix: format
* test: rewrite parallel test with barrier
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2024-01-08 10:48:11 +00:00
Weny Xu
58ada1dfef
fix: check env before running kafka test ( #3110 )
...
* fix: check env before running kafka test
* Apply suggestions from code review
Co-authored-by: niebayes <niebayes@gmail.com >
---------
Co-authored-by: niebayes <niebayes@gmail.com >
2024-01-08 06:30:43 +00:00
niebayes
78303639db
feat(remote_wal): split an entry if it's too large ( #3092 )
...
* feat: split an entry if it's too large
* chore: rewrite check records
* test: add some unit tests for record
* chore: rewrite entry splitting
* chore: add unit tests for build records
* chore: add more unit tests for record
* chore: rewrite encdec of record
* revert: ignored test
* fix: set limit for max_batch_size
* fix: clippy
* chore: remove heavy logging
* fix: CR
* fix: properly terminate
* fix: CR
* fix: compiling
* fix: sqlness
* fix: CR
* fix: license
* fix: license
2024-01-05 12:41:43 +00:00
Weny Xu
5653389063
feat!: correct the kafka config option ( #3065 )
...
* feat: correct the kafka config option
* refactor: rewrite the verbose comments
2024-01-02 07:31:37 +00:00
niebayes
9db168875c
fix(remote_wal): some known issues ( #3052 )
...
* fix: some known issues
* fix: CR
* fix: CR
* chore: replace Mutex with RwLock
2023-12-30 15:28:10 +00:00
Weny Xu
e16f093282
test(remote_wal): add sqlness with kafka wal ( #3027 )
...
* feat(sqlness): add kafka wal config
* chore: add sqlness with kafka wal ci config
* fix: fix config
* chore: apply suggestions from CR
* fix: add metasrv config to sqlness with kafka
* fix: replay memtable should from flushed_entry_id + 1
* fix: should set append flag to fopen
* feat: start wal allocator in standalone meta mode
* feat: append a noop record after kafka topic initialization
* test: ignore tests temporally
* test: change sqlness kafka wal config
2023-12-29 08:17:22 +00:00
Weny Xu
301ffc1d91
feat(remote_wal): append a noop record after kafka topic initialization ( #3040 )
...
* feat: append a noop record after kafka topic initialization
* chore: apply suggestions from CR
* feat: ignore the noop record during the read
2023-12-29 07:46:48 +00:00
niebayes
d061bf3d07
feat(remote_wal): introduce kafka remote wal ( #3001 )
...
* feat: integrate remote wal to standalone
* fix: test
* chore: ready to debug kafka remote wal
* fix: test
* chore: add some logs for remote wal
* chore: add logs for topic manager
* fix: properly terminate stream consumer
* fix: properly handle TopicAlreadyExists error
* fix: parse config file error
* fix: properly handle last entry id
* chore: prepare for merge
* fix: test
* fix: typo
* fix: set replication_factor properly
* fix: CR
* test: tmp for test
* Revert "test: tmp for test"
This reverts commit 093a3e0038 .
* fix: serde
* fix selector type deserialize
2023-12-26 12:35:24 +00:00
Weny Xu
c902d43380
refactor(remote_wal): add StandaloneWalConfig ( #3002 )
...
* feat: integrate remote wal to standalone
* fix: test
* refactor: refactor standalone wal config
* chore: change default kafka port to 9092
* chore: apply suggestions from CR
---------
Co-authored-by: niebayes <niebayes@gmail.com >
2023-12-26 04:31:41 +00:00
niebayes
bab198ae68
feat(remote_wal): impl kafka log store ( #2971 )
...
* feat: introduce client manager
* chore: add errors for client manager
* chore: add record utils
* chore: impl kafka log store
* chore: build kafka log store upon starting datanode
* chore: update comments for kafka log store
* chore: add a todo for getting entry offset
* fix: typo
* chore: remove unused
* chore: update comments
* fix: typo
* fix: resolve some review conversations
* chore: move commonly referenced crates to workspace Cargo.toml
* fix: style
* fix: style
* chore: unify topic name prefix
* chore: make backoff config configurable by users
* chore: properly use backoff config in wal config
* refactor: read/write of kafka log store
* fix: typo
* fix: typo
* fix: resolve review conversations
2023-12-25 09:21:52 +00:00
niebayes
d4ac8734bc
refactor(remote_wal): entry id usage ( #2986 )
...
* chore: update comments for log store stuff
* refactor: entry id usage
* tmp update
* Revert "tmp update"
This reverts commit fcfcda2851 .
* fix: resolve review conversations
* fix: resolve review conversations
* chore: remove entry offset
2023-12-25 07:30:27 +00:00
niebayes
7d509e97f6
chore: move some commonly referenced crates to workspace Cargo.toml ( #2981 )
...
fix: resolve conflicts
2023-12-22 09:13:18 +00:00
niebayes
9da1f236d9
feat(remote_wal): add skeleton for remote wal related to datanode ( #2941 )
...
* refactor: refactor wal config
* test: update tests related to wal
* feat: introduce kafka wal config
* chore: augment proto with wal options
* feat: augment region open request with wal options
* feat: augment mito region with wal options
* feat: augment region create request with wal options
* refactor: refactor log store trait
* feat: add skeleton for kafka log store
* feat: generalize building log store when starting datanode
* feat: integrate wal options to region write
* chore: minor update
* refactor: remove wal options from region create/open requests
* fix: compliation issues
* chore: insert wal options into region options upon initializing region server
* chore: integrate wal options into region options
* chore: fill in kafka wal config
* chore: reuse namespaces while writing to wal
* chore: minor update
* chore: fetch wal options from region while handling truncate/flush
* fix: region options test
* fix: resolve some review conversations
* refactor: serde with wal options
* fix: resolve some review conversations
2023-12-20 09:01:17 +00:00
Zhenchi
029ff2f1e3
feat(inverted_index.create): add read/write for external intermediate files ( #2942 )
...
* feat(inverted_index.create): add read/write for external intermediate files
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* chore: MAGIC_CODEC_V1 -> CODEC_V1_MAGIC
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* chore: polish comments
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* chore: fix typos intermedia -> intermediate
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* fix: typos
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* chore: futures_code -> asynchronous_codec
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* chore: bump bytes to 1.5
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
---------
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
2023-12-18 09:44:48 +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
Weny Xu
bd177b8cc4
refactor: remove move_value ( #2661 )
...
* chore: bump orc-rust to 0.2.42
* refactor: remove move_value
2023-10-27 03:42:50 +00:00
Weny Xu
e1dcf83326
fix: correct the range behavior in MemoryKvBackend & RaftEngineBackend ( #2615 )
...
* fix: correct the range behavior in MemoryKvBackend & RaftEngineBackend
* refactor: migrate tests from MemoryKvBackend
* chore: apply suggestions from CR
* fix: fix license header
* chore: apply suggestions from CR
* chore: apply suggestions from CR
* fix: fix range bugs
2023-10-20 02:30:47 +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
shuiyisong
20f4f7971a
refactor: remove source and location in snafu display ( #2428 )
...
* refactor: remove source pt 1
* refactor: remove source pt 2
* refactor: remove source pt 3
* refactor: remove location pt 1
* refactor: remove location pt 2
* chore: remove rustc files
* chore: fix error case
* chore: fix test
* chore: fix test
* chore: fix cr issue
Co-authored-by: fys <40801205+fengys1996@users.noreply.github.com >
---------
Co-authored-by: fys <40801205+fengys1996@users.noreply.github.com >
2023-09-21 02:55:24 +00:00
Weny Xu
f386329e29
refactor: introduce DdlTaskExecutor and refactor statement executor ( #2341 )
...
* feat: add kv store option
* refactor: refactor statement executor
* refactor: refactor standalone table creator
* chore: apply suggestions from CR
* chore: apply suggestions from CR
* refactor: move ShowCreateTable and CreateDatabase to StatementExecutor
* fix: fix RegionDistribution
* feat: build standalone
* chore: apply suggestions from CR
* chore: apply suggestions from CR
* chore: apply suggestions from CR
2023-09-12 07:57:15 -05:00
Weny Xu
e4de63625f
refactor: refactor raft engine backend and state store ( #2336 )
...
* refactor: remove redundant code
* refactor: refactor RaftEngineBackend Error to common_meta::error::Error
* refactor: refactor state store
* chore: apply suggestions from CR
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
Lei, HUANG
9691d19601
feat: impl kv backend for raft engine ( #2280 )
...
* feat: kv backend on raft-engine
* feat: raft-engine kvbackend
* fix: toml
* fix: some review comments
* chore: optimize delete
* fix: lift lock in batch_delete
2023-09-12 07:57:15 -05:00
谢政
b62e643e92
build: update protobuf-build to support apple silicon ( #2143 )
...
* build: update protobuf-build to support apple silicon
* build: Update src/log-store/Cargo.toml
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
* build: update the Cargo.lock too
---------
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2023-08-12 03:31:51 +00:00
LFC
5c19913a91
build: on windows ( #2054 )
...
* build on windows
* rebase develop
* fix: resolve PR comments
2023-08-10 08:08:37 +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