Fix a very rare recursive-table-growth problem in primitive collections #6754
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.
This fixes #6654
During growing the table underlying a collection, the process of populating the new table could decide that the table needs to grow once more.
If this happened, the outer most table grows (with the smallest table) would end up installing its table last, overwriting the work of any growth caused by table population.
This would result in the table suddenly forgetting an arbitrary number of its entries.
Specifically, this could manifest as very rare permanent self-deadlocks in the Forseti (Enterprise Edition) lock manager.
changelog: Fix for rare permanent self-deadlocks in the Enterprise lock manager #6654