-
Notifications
You must be signed in to change notification settings - Fork 24
Add async_write, alloc blks for solo repl dev. #706
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
Conversation
e65f40a to
6ab6ab1
Compare
|
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #706 +/- ##
===========================================
+ Coverage 56.51% 66.82% +10.31%
===========================================
Files 108 109 +1
Lines 10300 11947 +1647
Branches 1402 1665 +263
===========================================
+ Hits 5821 7984 +2163
+ Misses 3894 3127 -767
- Partials 585 836 +251 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
xiaoxichen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we get a feeling that solo dev is no longer "like" the repl dev?
Previously the solo_repl_dev was written as a phototype for integration IIUC. Now it becomes first class citizen, then the question comes to as it diverse from the entry (async_write vs async_alloc_write, write_journal etc), implementation, logic, also the consumer (user of repl dev).
What is the benefit of putting them under same base class? @yamingk
solo repl dev was not prototype. Hari planned to use it for nublocks. We didnt go to details at that time and assumed async_alloc_write would be enough. But with detail design, we found that we will need this additional api's |
OK, as far as you are still seeing its beneficial to stay under the repl_dev umbrella instead of feeling burden to refactor/keep consistency with raft_repl_dev, I am good with either. |
|
Can we document the one todo here in PR description that we plan to even simplify the interface further by merging local_blkid and local_blkIds into one, have the issue number as well. Also can we also summerize the discussion we had as well for the possibility to even mrege the two alloc_blks in repl_dev.h, e.g.
We didn't do that in this PR as we are not sure wether NuObject use case would prefer to use a standalone interface or have a combined one for better readability (e.g. why append blk allocator would need a vector of bids), so we didn't make this merge at the moment. cc @xiaoxichen |
Agree to the comment above. I have added a todo in commit description about the issue created. We should simplify in later PR if needed. |
|
LGTM, after the build failure is fixed in CI |
6ab6ab1 to
4e4c4b5
Compare
Add support for async write data, journal, alloc blks for solo repl dev. Raft repl dev doesnt support these operations. This is needed for nublocks where it need to write free blkids also to the journal. Free blocks are obtained after writing the new blkids to index. Add apis for allocation and write for vector of blkids . Raft repldev currently uses only a single blkid. Test solo repl dev changes to support vector of blkids.
4e4c4b5 to
06fbe7d
Compare
Add support for async write data, journal, alloc blks for solo repl dev. Raft repl dev doesnt support these operations. This is needed for nublocks where it need to write free blkids also to the journal. Free blocks are obtained after writing the new blkids to index. Add apis for allocation and write for vector of blkids . Raft repldev currently uses only a single blkid. Test solo repl dev changes to support vector of blkids.
Add support for async write data, journal, alloc blks for solo repl dev. Raft repl dev doesnt support these operations. This is needed for nublocks where it need to write free blkids also to the journal. Free blocks are obtained after writing the new blkids to index. Add apis for allocation and write for vector of blkids . Raft repldev currently uses only a single blkid. Test solo repl dev changes to support vector of blkids.
TODO
check if we can merge the alloc_blks(multiblkid) and alloc_blks(vector).
Also merge the local_blkid() and local_blkids() in raft repl dev.
issue created to track this.