-
Notifications
You must be signed in to change notification settings - Fork 503
feat(caching): implement negative stat cache to optimize polling of missing files #4729
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
Open
alleaditya
wants to merge
57
commits into
GoogleCloudPlatform:master
Choose a base branch
from
alleaditya:add-negative-stat-cache
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 2 commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
0ff8a5c
feat(caching): implement negative stat cache to optimize polling of m…
alleaditya 6ed7904
docs(fs): add detailed comment explaining LookUpChild short-circuit l…
alleaditya 633c027
style: fix formatting in bucket_manager.go
alleaditya 5afbc7f
fix(caching): address review comments and resolve data races/deadlock…
alleaditya 3bf09de
style: remove extra blank line in fast_stat_bucket.go
alleaditya 063c48a
refactor(caching): remove unrelated fixes and speculative listing cac…
alleaditya 6cd627c
fix(caching): add negative caching for empty directories in fast_stat…
alleaditya 85ef618
Revert changes to internal/fs/inode/dir.go as requested by reviewer
alleaditya 7844a2d
fix(caching): remove speculative negative caching from insertListing
alleaditya a41f2f7
fix(caching): safely re-add negative caching to insertListing
alleaditya e4c4072
style: apply go fmt to tests
alleaditya b04bef2
chore: revert unintended formatting changes in hns_bucket_test.go
alleaditya 0dfc7f6
style(caching): combine nested if conditions in insertListing
alleaditya 855f4f0
fix(caching): move negative caching TTL check to caller
alleaditya 0370a6a
refactor(caching): clean up boilerplate if-else blocks by using a hel…
alleaditya e70f114
Fix cache bug and combine condition
alleaditya ef534ee
Add b.implicitDir check to negative cache insertion condition
alleaditya abf86a8
Address PR comment: Use newline to separate AAA in gcs_metrics_test
alleaditya b928d18
Merge remote-tracking branch 'upstream/master' into add-negative-stat…
alleaditya f7e0e0c
test(metrics): use t.TempDir() instead of hardcoded tmp directory in …
alleaditya 1311bb8
test(metrics): update short-circuit test to simulate list call with -…
alleaditya 21c24f0
test(metrics): clean up comments in TestGCSMetrics_RequestCount_Negat…
alleaditya 955c914
Update internal/fs/gcs_metrics_test.go
alleaditya e5a2c07
refactor(metrics): remove unused type definition in gcs_metrics_test
alleaditya 5abeb0b
Short-circuit ListObjects if negative cache is hit
alleaditya 0e32dbe
test(metrics): advance cacheClock for cross-mount tests
alleaditya 5c2ff9f
fix(cache): restrict implicit dir negative caching and inference to d…
alleaditya fd86253
style(cache): apply De Morgan's law to satisfy staticcheck QF1001
alleaditya b7e0bdc
Fix staticcheck QF1001 and allow short-circuit in ListObjects for exp…
alleaditya fc4f668
Revert "allow short-circuit in ListObjects for explicit-dirs and HNS"
alleaditya 006f3d9
fix(cache): preserve folder in LRU and fix ListObjects short-circuit …
alleaditya 74843d4
Revert "fix(cache): preserve folder in LRU and fix ListObjects short-…
alleaditya ceb9bb1
fix(cache): fix ListObjects short-circuit for HNS folders
alleaditya 51e42bc
Merge remote-tracking branch 'upstream/master' into add-negative-stat…
alleaditya c2fae1f
Fix integration test cache issues
alleaditya 76b9fad
Address PR comments: Move negative cache to implicit directories sect…
alleaditya 071d269
Refactor ListObjects negative cache short-circuiting logic
alleaditya 891c487
Fix build error: pass time.Time to statCache LookUp
alleaditya bf412c2
Simplify ListObjects short-circuiting by removing unreachable HNS buc…
alleaditya c8ab55a
Revert addition of --metadata-cache-negative-ttl-secs=2 in dentry_cac…
alleaditya beab398
test: use unique t.TempDir() in file_cache_reader_test to fix cross-s…
alleaditya 27d4998
test: restore --metadata-cache-negative-ttl-secs=2 to dentry_cache tests
alleaditya e0da02e
test: restore --metadata-cache-negative-ttl-secs=2 to test_config.yaml
alleaditya b9f8514
Fix integration test failures and restore flags
alleaditya 9b1dd6d
test: Add negative TTL flag to CI integration test config
alleaditya f430837
Fix dentry_cache test failures due to implicit directory caching
alleaditya 109b209
Revert addition of --metadata-cache-negative-ttl-secs in test_config.…
alleaditya 10e5e13
Revert test changes as requested
alleaditya d8b9371
Remove negative caching of empty directories in insertListing
alleaditya 6b0387e
Run go fmt
alleaditya ac90e84
Fix file_cache_reader_test crosstalk
alleaditya abf58ba
Merge branch 'master' into add-negative-stat-cache
alleaditya 0bc9494
Restore negative stat cache for empty directories
alleaditya 09de3a3
Fix dentry_cache integration tests by clearing test cache
alleaditya 7c18968
Fix dentry_cache integration tests in test_config.yaml
alleaditya 506cb06
Revert unnecessary destroy call
alleaditya b62cc6b
Fix redundant ListObjects calls by negatively caching missing directo…
alleaditya File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.