Skip to content
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

Blobstore can throw FileAlreadyExistsException #10447

Closed
rymsha opened this issue Mar 8, 2024 · 1 comment · Fixed by #10831
Closed

Blobstore can throw FileAlreadyExistsException #10447

rymsha opened this issue Mar 8, 2024 · 1 comment · Fixed by #10831
Assignees
Labels
Milestone

Comments

@rymsha
Copy link
Contributor

rymsha commented Mar 8, 2024

With a chance of nodes to be created with exactly the same blob (and it does not already exist) - there is a race condition

if (file.exists) -> return false for both threads/instances
----------------> race is here
file.write -> both threads/instances want to write.

one of the nodes won't be created.

There is another race: when one thread creates blob - and writes data to it, while another sees the blob, and tries to read contents of it, there is a chance that contents are not yet fully written - because file writes are not atomic and we don't use write-then-copy approach in FileBlobStore. This leads to broken blobs cached.

@rymsha rymsha added the Bug label Mar 8, 2024
@rymsha rymsha self-assigned this Mar 8, 2024
@rymsha rymsha added this to the 7.15.0 milestone Dec 2, 2024
@rymsha rymsha added this to XP7.15 Dec 3, 2024
@github-project-automation github-project-automation bot moved this to Backlog in XP7.15 Dec 3, 2024
@rymsha rymsha moved this from Backlog to In Progress in XP7.15 Dec 16, 2024
@rymsha rymsha moved this from In Progress to Done in XP7.15 Dec 16, 2024
@rymsha rymsha closed this as completed by moving to Done in XP7.15 Dec 16, 2024
@rymsha rymsha moved this from Done to In Progress in XP7.15 Dec 18, 2024
@rymsha rymsha reopened this Dec 18, 2024
@rymsha
Copy link
Contributor Author

rymsha commented Dec 18, 2024

closed by mistake

rymsha added a commit that referenced this issue Dec 23, 2024
@rymsha rymsha moved this from In Progress to Done in XP7.15 Dec 23, 2024
@rymsha rymsha closed this as completed by moving to Done in XP7.15 Dec 23, 2024
@rymsha rymsha linked a pull request Mar 3, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant