-
Notifications
You must be signed in to change notification settings - Fork 328
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: introduce Buffer for non-continuous bytes #5164
Conversation
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5164 +/- ##
==========================================
- Coverage 84.05% 83.80% -0.25%
==========================================
Files 1172 1175 +3
Lines 218490 218960 +470
==========================================
- Hits 183641 183499 -142
- Misses 34849 35461 +612 |
Co-authored-by: Weny Xu <wenymedia@gmail.com>
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.
Rest LGTM, remember to remove unnecessary TODO comments
We don't have to copy the buffer code from opendal in that we've already re-exported that struct: greptimedb/src/object-store/src/lib.rs Line 17 in 03a2832
|
* feat: introduce Buffer for non-continuous bytes * Update src/mito2/src/cache/index.rs Co-authored-by: Weny Xu <wenymedia@gmail.com> * chore: apply review comments * refactor: use opendal::Buffer --------- Co-authored-by: Weny Xu <wenymedia@gmail.com>
I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
What's changed and what's your intention?
As title. The implementation is copied from
opendal
actually.Also refactor the inverted index cache to avoid a copy when reading bytes from remote blob. But we still need to copy the bytes to a continuous
Vec<u8>
for reading it, maybe we can avoid it by usingBuffer
more heavily. ButBuffer
itself is cache-unfriendly, so I'm not sure if it's good.Seems
Bytes
it self is a thread-safe and copy-efficient, so we don't need wrap it up with anArc
.Checklist