If one poetry installation is writing to the cache while a second installer is attempting to read that cache file, the second installation will fail because the in-flight cache file is invalid while it is still being written to by the first process. This PR resolves this issue by having Poetry write to a temporary file in the cache directory first, and then rename the file after it's written, which is ~atomic. Resolves: #5142 I'm not sure how to test this change, as the conditions which cause this bug to appear are a little hard to reproduce.
| Name |
Last commit
|
Last Update |
|---|---|---|
| .github | Loading commit data... | |
| assets | Loading commit data... | |
| docs | Loading commit data... | |
| src/poetry | Loading commit data... | |
| tests | Loading commit data... | |
| .cirrus.yml | Loading commit data... | |
| .flake8 | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .pre-commit-config.yaml | Loading commit data... | |
| .pre-commit-hooks.yaml | Loading commit data... | |
| CHANGELOG.md | Loading commit data... | |
| CODE_OF_CONDUCT.md | Loading commit data... | |
| CONTRIBUTING.md | Loading commit data... | |
| LICENSE | Loading commit data... | |
| README.md | Loading commit data... | |
| get-poetry.py | Loading commit data... | |
| install-poetry.py | Loading commit data... | |
| poetry.lock | Loading commit data... | |
| pyproject.toml | Loading commit data... |