Skip to content

Conversation

@shcheklein
Copy link
Contributor

Fixes 'NoneType' object has no attribute 'close' on running multiple repro in parallel when they compete for resources and one of them fails to acquire the lock back.

  • Double unlock is not allowed and now raises an explicit better DvcException. This is aligned with usual lock semantics and we want to keep as much of it as possible so that we detect missing lock() calls, or some misplaced unlocks, etc.
  • Unlock on an unlocked is allowed only if this lock failed last time we tried to acquire it. This is unfortunate, but should be more or less safe. This is the best we can do considering the way we lock, unlock stuff in stages now.

@shcheklein shcheklein requested a review from a team as a code owner August 8, 2022 02:24
@shcheklein shcheklein requested a review from pmrowla August 8, 2022 02:24
@pmrowla pmrowla added the bugfix fixes bug label Aug 8, 2022
@pmrowla pmrowla merged commit 95421a5 into main Aug 8, 2022
@pmrowla pmrowla deleted the unlock-unlocked-lock branch August 8, 2022 05:25
@shcheklein shcheklein mentioned this pull request Aug 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix fixes bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants