-
Notifications
You must be signed in to change notification settings - Fork 289
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
File locking module data store #3139
Merged
Merged
Changes from all commits
Commits
Show all changes
45 commits
Select commit
Hold shift + click to select a range
c4cad75
Add test for concurrent cache reads + writes
doriable d4eb36a
Implement file locking on module.yaml in for ModuleDataStore
doriable a9dffdd
Skip test
doriable 584b8f1
Fix lint
doriable f1953ef
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable c40e2fa
Updates from conversations + comments
doriable e9589be
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable 89a076d
Close moduleDir before other delete operations
doriable 0e49421
Refactor test away from errgroup
doriable 812da0c
Use a lock file instead of locking on module.yaml
doriable caaad59
Check module.yaml during PutModules to avoid writing extra data
doriable 1ac3afd
Fix delete invalid to use storage APIs
doriable ad470e5
Add locker options for filelock.Locker
doriable 05ea4bb
Address comments + fix delete in delete invalid files
doriable 7332a7d
Remove extra comment
doriable e7bf3cd
Only avoid calling deleteInvalidModuleData if module.yaml was not found
doriable 2b73dc4
Address small comments
doriable cbf7021
Change `filelocker` as a required arg and adjust tests.
doriable 427e0b5
Remove deleteInvalidModuleData
doriable f146b60
Add storageos test to module_data_store_test.go
doriable d162eec
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable 8829be0
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable 1f6c0d2
Small clean-up
doriable 7dfa33e
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable c44c7ee
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable 3916950
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable e98467d
Separate dir for file locking
doriable 6a9416a
Apply suggestions from code review
doriable b52c371
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable 4266bd0
Delete lock files
doriable d4340a7
Address comments
doriable baa4f31
Fix lint
doriable 1939643
Remove nil checks for filelocker and use NopLocker when passed nil in…
doriable ede95e9
Merge branch 'main' into file-locking-module-data-store
bufdev d5d9178
Address some comments
doriable 5c3baa2
Fix tests
doriable 44f3966
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable 2e46398
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable 7fa96d1
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable a6c476a
Address comments
doriable c520685
Unexpand dockerignore glob
doriable 723e85c
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable 61a38bb
Add in-line comments to document module read/write processes.
doriable fbd040f
Merge remote-tracking branch 'origin/main' into file-locking-module-d…
doriable 4598d8c
Add comment explaining module.yaml as the source of validity at the m…
doriable 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 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 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 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 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 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.
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.
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.
There's no need to do this, and it's somewhat unsafe - temporary directories are automatically cleaned up.
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.
This is a subdirectory of the temp dir created by the test and we want to clear it after each attempt (to start fresh). This exposed race conditions that wouldn't be hit once we managed to successfully cache everything during an attempt.