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

Remove logstore family #281

Merged
merged 1 commit into from
Feb 5, 2024
Merged

Remove logstore family #281

merged 1 commit into from
Feb 5, 2024

Conversation

sanebay
Copy link
Contributor

@sanebay sanebay commented Jan 19, 2024

  1. Earlier logstore services have two fixed logstore families, 1 logdev under each family and family managing multiple logstores . This PR removes the logstore families indirection. Now we remove the logstore family class and let logstore service handles multiple logdev's and logdevs handle multiple logstores under it. Clients can now create multiple log devices each having its own state. This PR depends on the dynamic journal vdev PR. Earlier there were fixed number of metablks. Now we can have more metablks, one per logdev.
Earlier
       LogStoreService 
             LogStoreFamily(CTRL and DATA)
                          LogStores  -> 1 LogDev
Now
        LogStoreService 
             LogDev(1... N)
                      LogStores(1..N). multiple logstores under 1 LogDev.
  1. Removed the LOG_REPLICATED and LOG_LOCAL and make it single LOG service.
  2. Move functionality of log store family of handling log stores to logdev class.
  3. We have a single journal vdev. All logdevices uses journal descriptors to talk to a single journal vdev. Each descriptor has its own list of chunks and state of the offset from a single journal vdev.
  4. Added api's to create/open logdev in logservice.

IMG_5425

@sanebay sanebay changed the title Remove log family Remove logstore family Jan 19, 2024
@sanebay sanebay requested review from hkadayam and yamingk January 23, 2024 19:25
src/include/homestore/logstore_service.hpp Outdated Show resolved Hide resolved
src/include/homestore/logstore_service.hpp Outdated Show resolved Hide resolved
src/include/homestore/logstore_service.hpp Outdated Show resolved Hide resolved
@hkadayam hkadayam modified the milestone: MileStone3.12 Jan 31, 2024
@hkadayam hkadayam linked an issue Jan 31, 2024 that may be closed by this pull request
src/include/homestore/logstore/log_store_internal.hpp Outdated Show resolved Hide resolved
src/include/homestore/logstore_service.hpp Show resolved Hide resolved
src/include/homestore/logstore_service.hpp Outdated Show resolved Hide resolved
src/lib/logstore/log_dev.cpp Outdated Show resolved Hide resolved
hkadayam
hkadayam previously approved these changes Feb 2, 2024
Copy link
Contributor

@hkadayam hkadayam left a comment

Choose a reason for hiding this comment

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

Have some minor comments, but don't want to hold this PR merge. I am fine in merge this and we can adjust minor things in next checkin.

@sanebay sanebay force-pushed the remove_log_family branch 2 times, most recently from ad974d2 to dfe3b53 Compare February 5, 2024 20:16
Remove the fixed number of logstore families and instead
dynamically create logdev and logstores under them.
Logservice managers logdev's and logdev manages logstores.
Create a single journal vdev and multiple logdev use
the journal vdev with journal descriptor maintaing the state.
Remove LOG_REPLICATED and LOG_LOCAL and use LOG service.
@codecov-commenter
Copy link

Codecov Report

Attention: 89 lines in your changes are missing coverage. Please review.

Comparison is base (4bbea89) 60.95% compared to head (371c2d9) 61.04%.
Report is 3 commits behind head on master.

Files Patch % Lines
src/lib/logstore/log_dev.cpp 76.04% 30 Missing and 10 partials ⚠️
src/lib/logstore/log_store_service.cpp 77.47% 23 Missing and 2 partials ⚠️
.../lib/replication/log_store/home_raft_log_store.cpp 0.00% 13 Missing ⚠️
src/lib/replication/repl_dev/raft_repl_dev.cpp 0.00% 5 Missing ⚠️
src/include/homestore/homestore.hpp 0.00% 1 Missing and 1 partial ⚠️
src/lib/homestore.cpp 75.00% 0 Missing and 2 partials ⚠️
src/lib/logstore/log_store.cpp 94.11% 1 Missing ⚠️
...rc/lib/replication/log_store/home_raft_log_store.h 0.00% 1 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #281      +/-   ##
==========================================
+ Coverage   60.95%   61.04%   +0.08%     
==========================================
  Files         109      107       -2     
  Lines        9182     9197      +15     
  Branches     1185     1173      -12     
==========================================
+ Hits         5597     5614      +17     
- Misses       3052     3055       +3     
+ Partials      533      528       -5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@sanebay sanebay merged commit 81a40fd into eBay:master Feb 5, 2024
20 checks passed
@sanebay sanebay deleted the remove_log_family branch February 5, 2024 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support multiple logstore families
5 participants