Fixing deadlock in subnet resources #3405
Closed
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.
The assumption I'm making here is that the purpose of all these locks is to prevent the same resource being modified by multiple threads at the same time. None of these resources actually modify the route table, network security group, or vnet itself, so removing locks on those should be safe. I replaced the vnet locks with subnet locks which is modified by the route table association and nsg association.
If I'm wrong about why we have all these locks in here, please let me know. This is to fix #2489 and I've confirmed that it works on my local config that was previously triggering this problem.