-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix "Array dimensions exceeded supported range" exception (#5343)
Hitting this on a quickbuild repo with ~550 projects and ~19K edges (due to transitive edges). The problem was using an intermediary list to aggregate intermediary results, which exploded exponentially in size due to duplicates. Fix is to use a hash set. The failure can't really be tested (without stress tests) because it appears in an intermediary list which finally gets dumped into a set, so there's no observable trace of the problem at the end of graph construction. This fix avoids the exception and takes graph construction down from 5 minutes to 30 seconds on that specific repo.
- Loading branch information
Showing
3 changed files
with
37 additions
and
16 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
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
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