-
Notifications
You must be signed in to change notification settings - Fork 472
feat(dir-metadata-prefetch): create readObjectsUnlocked function + refactoring of existing code #4240
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
01e0ce1 to
ed6354f
Compare
|
/gemini summary |
|
/gemini review |
Summary of ChangesThis pull request introduces a significant refactoring to the directory inode's object reading mechanism, primarily by separating the GCS I/O from the cache update logic. A new Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Activity
|
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.
Code Review
This pull request refactors the directory object reading logic by introducing a new readObjectsUnlocked function to perform GCS I/O without holding the directory lock, which is a good performance improvement. It also migrates the test suite from ogletest to the more standard testify/suite, which improves maintainability. However, the refactoring in dir.go has introduced a critical race condition and a redundant operation due to incomplete removal of old logic. The tests have also been updated accordingly, but there's a minor typo in one of the test names.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4240 +/- ##
==========================================
+ Coverage 83.09% 83.13% +0.03%
==========================================
Files 154 154
Lines 18980 18994 +14
==========================================
+ Hits 15772 15791 +19
+ Misses 2631 2627 -4
+ Partials 577 576 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Hi @vadlakondaswetha, your feedback is needed to move this pull request forward. This automated reminder was triggered because there has been no activity for over 24 hours. Please provide your input when you have a moment. Thank you! |
96414d1 to
039fc04
Compare
Description
This PR refactors the directory reading logic by introducing a new
readObjectsUnlockedfunction to perform GCS I/O without holding the directory lock. This will allow for for more concurrent operations by minimizing lock contention during potentially long-running List calls which will become more frequent as weadd dir-metadata-prefetchfeature.It also migrates the test suite from ogletest to the more standard testify/suite, which improves maintainability.
Link to the issue in case of a bug fix.
b/473411326
Testing details
Any backward incompatible change? If so, please explain.
NA