-
Notifications
You must be signed in to change notification settings - Fork 472
feat(Type Cache Deprecation): Fast stat bucket cache implicit dir #4237
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
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4237 +/- ##
==========================================
+ Coverage 83.08% 83.12% +0.04%
==========================================
Files 154 154
Lines 18913 18973 +60
==========================================
+ Hits 15714 15772 +58
Misses 2625 2625
- Partials 574 576 +2
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:
|
a4479cb to
21aa3d7
Compare
|
/gemini review |
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 introduces new logic to handle implicit directories when caching GCS listings, controlled by a new IsTypeCacheDeprecated flag. The changes include a new insertListing function in fastStatBucket and a corresponding test suite. My review has identified a bug in the implicit directory detection logic, where directories containing only subdirectories are not correctly cached. I've also found an issue in the corresponding test case that fails to check for this, and a potential for test flakiness due to using map iteration for ordered mock expectations. I've provided suggestions to fix these issues.
f2f962e to
bc1817e
Compare
2514414 to
7d450c4
Compare
Description
In GCSFuse, an "implicit directory" is a folder that exists as a prefix to other objects but does not have a corresponding 0-byte object in GCS. Historically, these were tracked in a separate typeCache. This PR migrates that responsibility to the statCache by inferring directory existence from listing results.
Link to the issue in case of a bug fix.
b/473410044
Testing details
Any backward incompatible change? If so, please explain.