-
Notifications
You must be signed in to change notification settings - Fork 594
HDDS-7871. Fix false positive in KeyManagerImpl#createFakeDirIfShould() #4236
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
Merged
Merged
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
b4d0bce
Fix false positive in KeyManagerImpl#createFakeDirIfShould()
kaijchen 1f74524
refactor
kaijchen ff893a0
check the ResultCode
kaijchen 5481eb1
update comments
kaijchen f36f33d
change test name
kaijchen 24c6987
update comments
kaijchen bc34bb9
refactor test
kaijchen ec2093a
refactor test: regulate key name
kaijchen df7ad01
add helper function for assert
kaijchen ac754c0
enhance test false positive
kaijchen 276ce86
add test false negative
kaijchen 17b5378
fix style
kaijchen a18bef4
reposition helper functions
kaijchen 7ec03e2
check keyName bucketName volumeName
kaijchen 3162b58
switch to JUnit5 parameterized test
kaijchen b8790fe
simplify createFile
kaijchen 790b427
switch to JUnit5 assertions
kaijchen cb66839
merge creation and verify
kaijchen 7a21877
Merge branch 'master' into HDDS-7871
kaijchen 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
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.
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.
Is it because seek may position past target or bloom filter or when item is not in the table?
As per my understanding it seems like false positive because of bloom filter. Please correct me if I'm wrong.
When I was testing it, my test was failure for following scenario.
Items in the table was:
Was looking for
/vol2/bucket2/key1and getting false positive.May point is if it is because of bloom filter and seek is pointing to wrong item, we might miss the "fakeDir".
Eg. You have following table
and now you are looking for
/vol1/bucket2/dir1but seek is pointing to/vol1/bucket1/dir1/key1. So it will be a miss all the time now.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.
Thanks for the info. I will look into this scenario also.
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.
While I'm still reading the RocksDB bloom filter docs, I have added more test cases to cover your scenarios.
Looking for
/vol1/bucket2/dir3/is added in my false positive test. Is it equivalent?TestFalseNegative is added, but I'm not sure why it might happen.