-
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.
Construct TreeArtifactValues on multiple threads.
This makes it possible to use every core available for checksumming, which makes a huge difference for large tree artifacts. Fixes #17009. RELNOTES: None. PiperOrigin-RevId: 525085502 Change-Id: I2a995d3445940333c21eeb89b4ba60887f99e51b
- Loading branch information
1 parent
91584dd
commit 368bf11
Showing
6 changed files
with
107 additions
and
32 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
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
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we able to cherry-pick this into 6.2 (please 🙏)? cc @tjgq
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lberki
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The cherry-pick wouldn't apply cleanly (as you can see on #17009 , I had to do a lot of prefactoring to make this work), but I could imagine manually cherry-picking this to 6.2 with some collateral damage (essentially, interrupts would be reported as
IOException
s if there is a good reason. How much pain would this save you?cc @tbaing
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lots of pain (the whole iOS community will thank you): #14125 (comment)
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to cherry-pick this to 6.2 (and the changes it depends on), but the result was a large merge conflict. I haven't checked how easy the merge was because I had like 15 minutes for this, but from a quick glance, it did not look good :(
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to cherry-pick this to 6.2 again and failed again; there have simply been too many changes since 6.0, especially in the Builds-without-the-Bytes code. However, if you manage to rebase these changes on top of the 6.2 branch (2481bb2 currently):
Or else only 368bf11 by way of wrapping InterrupteException into and IOException, I'd be happy to accept that contribution (it's just that the former approach takes more time I currently have and I don't have the hazmat suit for the latter one)
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. Will see if we can do that.
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A first attempt with the latter approach described here: #18194
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#18194 looks reasonable at first glance.
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@BalestraPatrick let me know when that pull request is ready for view (for now, I'm ignoring it until you say it is, since you said it's a "first attempt")
368bf11
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lberki It's ready for review now, added a comment in the PR showing the key part I modified.