Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(storage): batched iterator & e2e tests with in-memory state store #5322

Merged
merged 8 commits into from
Sep 15, 2022

Conversation

BugenZhao
Copy link
Member

@BugenZhao BugenZhao commented Sep 13, 2022

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.

What's changed and what's your intention?

This PR introduces a batched iterator for memory state store, so that we don't clone the full range at once when starting iteration.

This PR also restores the capability of enabling memory state store with risedev, and adds a new step of running parallel e2e tests with in-memory state store. Hope this'll be helpful for us to debug.

Note that the in-memory state store should still not be used for production, as

  • we have no abstraction of the storage manager, so it's impossible to do GC with in-memory state store.
  • in-memory state store is not shared among distributed workers, so we'll not be able to do scaling.

Checklist

  • I have written necessary rustdoc comments
  • I have added necessary unit tests and integration tests
  • All checks passed in ./risedev check (or alias, ./risedev c)

Refer to a related PR or issue link (optional)

…ios (#3153)"

This reverts commit ce23e4a.

Signed-off-by: Bugen Zhao <i@bugenzhao.com>
Signed-off-by: Bugen Zhao <i@bugenzhao.com>
@codecov
Copy link

codecov bot commented Sep 13, 2022

Codecov Report

Merging #5322 (84e89d6) into main (f7eb24f) will increase coverage by 0.00%.
The diff coverage is 63.40%.

@@           Coverage Diff            @@
##             main    #5322    +/-   ##
========================================
  Coverage   74.00%   74.00%            
========================================
  Files         900      900            
  Lines      139166   139293   +127     
========================================
+ Hits       102990   103084    +94     
- Misses      36176    36209    +33     
Flag Coverage Δ
rust 74.00% <63.40%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/compute/src/server.rs 0.00% <0.00%> (ø)
src/risedevtool/src/service_config.rs 0.00% <ø> (ø)
src/risedevtool/src/task/compute_node_service.rs 0.00% <0.00%> (ø)
...rc/storage/hummock_sdk/src/compaction_group/mod.rs 66.66% <0.00%> (-13.34%) ⬇️
src/storage/src/lib.rs 100.00% <ø> (ø)
src/storage/src/store_impl.rs 5.26% <0.00%> (-0.08%) ⬇️
src/meta/src/hummock/manager/mod.rs 79.20% <21.05%> (-1.00%) ⬇️
src/meta/src/hummock/compaction_group/manager.rs 86.80% <61.36%> (-2.92%) ⬇️
src/storage/src/memory.rs 87.80% <98.91%> (+6.22%) ⬆️
src/meta/src/hummock/test_utils.rs 94.75% <100.00%> (ø)
... and 5 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Signed-off-by: Bugen Zhao <i@bugenzhao.com>
Signed-off-by: Bugen Zhao <i@bugenzhao.com>
Signed-off-by: Bugen Zhao <i@bugenzhao.com>
@BugenZhao BugenZhao changed the title [IGNORE ME] feat(storage): in-memory state store with batched iterator feat(storage): in-memory state store with batched iterator Sep 14, 2022
@BugenZhao BugenZhao changed the title feat(storage): in-memory state store with batched iterator feat(storage): batched iterator & e2e tests with in-memory state store Sep 14, 2022
Signed-off-by: Bugen Zhao <i@bugenzhao.com>
@BugenZhao BugenZhao marked this pull request as ready for review September 14, 2022 05:35
Copy link
Contributor

@soundOfDestiny soundOfDestiny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my part lgtm

…ate-store

Signed-off-by: Bugen Zhao <i@bugenzhao.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants