-
Notifications
You must be signed in to change notification settings - Fork 169
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
Introduce negative metadata cache entries #696
Merged
Merged
Conversation
This file contains 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
passaro
temporarily deployed
to
PR integration tests
January 10, 2024 12:05 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 10, 2024 12:05 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 10, 2024 12:05 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 10, 2024 12:05 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 10, 2024 12:05 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 10, 2024 12:05 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 10, 2024 12:05 — with
GitHub Actions
Inactive
passaro
force-pushed
the
negative-cache
branch
from
January 15, 2024 10:40
2a24689
to
235da7d
Compare
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:40 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:40 — with
GitHub Actions
Inactive
passaro
had a problem deploying
to
PR integration tests
January 15, 2024 10:40 — with
GitHub Actions
Failure
passaro
had a problem deploying
to
PR integration tests
January 15, 2024 10:40 — with
GitHub Actions
Failure
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:40 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:40 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:40 — with
GitHub Actions
Inactive
passaro
force-pushed
the
negative-cache
branch
from
January 15, 2024 10:58
235da7d
to
311de65
Compare
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:58 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:58 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:58 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:58 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:58 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:58 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 15, 2024 10:58 — with
GitHub Actions
Inactive
passaro
had a problem deploying
to
PR integration tests
January 16, 2024 16:21 — with
GitHub Actions
Failure
passaro
temporarily deployed
to
PR integration tests
January 16, 2024 16:21 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 16, 2024 16:21 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 16, 2024 16:21 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 16, 2024 16:21 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 16, 2024 16:21 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
January 16, 2024 16:21 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 2, 2024 12:11 — with
GitHub Actions
Inactive
passaro
force-pushed
the
negative-cache
branch
from
February 5, 2024 11:54
4d5cff0
to
99aa2dd
Compare
passaro
temporarily deployed
to
PR integration tests
February 5, 2024 11:54 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 5, 2024 11:54 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 5, 2024 11:54 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 5, 2024 11:55 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 5, 2024 11:55 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 5, 2024 11:55 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 5, 2024 11:55 — with
GitHub Actions
Inactive
arsh
previously approved these changes
Feb 6, 2024
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.
LGTM
Signed-off-by: Alessandro Passaro <[email protected]>
Reduce latency when repeatedly looking up non-existing files or directories (when cache is enabled). This change adds negative metadata cache entries: whenever a lookup fails because an object does not exist, we cache a “negative” entry with the same TTL as for successful lookups and use it to reply to subsequent kernel requests for the same name. The negative entries are maintained separately from the inode tree using the new `NegativeCache` type, which enforces an upper limit to the number of entries and handles their expiration. Signed-off-by: Alessandro Passaro <[email protected]>
Signed-off-by: Alessandro Passaro <[email protected]>
Signed-off-by: Alessandro Passaro <[email protected]>
passaro
force-pushed
the
negative-cache
branch
from
February 6, 2024 18:39
99aa2dd
to
ab1c10c
Compare
passaro
temporarily deployed
to
PR integration tests
February 6, 2024 18:39 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 6, 2024 18:39 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 6, 2024 18:39 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 6, 2024 18:39 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 6, 2024 18:39 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 6, 2024 18:39 — with
GitHub Actions
Inactive
passaro
temporarily deployed
to
PR integration tests
February 6, 2024 18:39 — with
GitHub Actions
Inactive
arsh
approved these changes
Feb 7, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description of change
Reduce latency when repeatedly looking up non-existing files or directories (when cache is enabled).
This change adds negative metadata cache entries: whenever a lookup fails because an object does not exist, we cache a “negative” entry with the same TTL as for successful lookups and use it to reply to subsequent kernel requests for the same name.
The negative entries are maintained separately from the inode tree using the new
NegativeCache
type, which enforces an upper limit to the number of entries and handles their expiration.Does this change impact existing behavior?
Repeated lookups for non-existing entries will not trigger S3 requests for the configured TTL.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).