-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Disable pooled
SkyKeyInterner
for PackageLoader
Pooled `SkyKeyInterner` assumes that there is only one pool existing in the blaze program, so setting the pool to some container or `null` happens sequentially without synchronization concern. However, this assumption is broken if multiple `PackageLoader` instances are being used with concurrent Skyframe evaluations for other programs than blaze. It is possible that one `PackageLoader` tries to access some SkyKey in the globalPool, but the pool has already been reset by the other `PackageLoader`. In order to avoid this, we disable pooled `SkyKeyInterner` for `PackageLoader` and `SkyKey`s will revert to use the naive weak interner. PiperOrigin-RevId: 531318564 Change-Id: Ie2c7793c3fdc1ad3b6677c13f0d8c00ca8f4125e
- Loading branch information
1 parent
5bbd8c7
commit 224d642
Showing
1 changed file
with
5 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters