Skip to content

Conversation

@fmeum
Copy link
Collaborator

@fmeum fmeum commented Oct 14, 2022

Reverts a change made in e8278ed alongside enabling allowMultiple for --experimental_remote_download_regex.

It is much easier to accidentally write regexes with pathological performance with find than with matches. If needed, the find functionality can always be obtained with matches by prepending and appending .* as needed.

In addition, common usage scenarios such as matching by file extension are easier to get right: With matches, jar will visibly fail to have an effect and is easily corrected to .*jar (or even .*\.jar), whereas with find it will silently fetch entire directories that contain the substring jar, potentially causing performance regressions.

It is much easier to accidentally write regexes with pathological
performance with `find` than with `matches`. If needed, the `find`
functionality can always be obtained with `matches` by prepending and
appending `.*` as needed.

In addition, common usage scenarios such as matching by file extension
are easier to get right: With `matches`, `jar` will visibly fail to
have an effect and is easily corrected to `.*jar` (or even `.*\.jar`),
whereas with `find` it will silently fetch entire directories that
contain the substring `jar`, potentially causing performance
regressions.
@fmeum
Copy link
Collaborator Author

fmeum commented Oct 14, 2022

@coeuvre I just wanted to flag this. Feel free to close if you intentionally made the switch in e8278ed.

@fmeum fmeum marked this pull request as ready for review October 14, 2022 15:53
@fmeum fmeum requested a review from a team as a code owner October 14, 2022 15:53
@fmeum
Copy link
Collaborator Author

fmeum commented Oct 14, 2022

@kshyanashree In case e8278ed is cherry-picked into 5.3.2, this should probably be cherry-picked as well.

@sgowroji sgowroji added team-Remote-Exec Issues and PRs for the Execution (Remote) team awaiting-review PR is awaiting review from an assigned reviewer labels Oct 14, 2022
@brentleyjones
Copy link
Contributor

@fmeum I'll include it in the PR.

brentleyjones pushed a commit to brentleyjones/bazel that referenced this pull request Oct 14, 2022
… regular expressions.

PiperOrigin-RevId: 470707773
Change-Id: I9cec072e32b641fc4cc068d53d83d95a5fe9c55d

(cherry picked from commit e8278ed)

Also includes the change in bazelbuild#16476.
@fmeum fmeum changed the title Revert to using matches insted of find with remote_download_regex Revert to using matches instead of find with remote_download_regex Oct 14, 2022
brentleyjones pushed a commit to brentleyjones/bazel that referenced this pull request Oct 14, 2022
… regular expressions.

PiperOrigin-RevId: 470707773
Change-Id: I9cec072e32b641fc4cc068d53d83d95a5fe9c55d

(cherry picked from commit e8278ed)

Also includes the change in bazelbuild#16476.
@fmeum fmeum deleted the remote-download-regex-matches branch October 14, 2022 19:08
ShreeM01 pushed a commit that referenced this pull request Oct 14, 2022
… regular expressions. (#16478)

PiperOrigin-RevId: 470707773
Change-Id: I9cec072e32b641fc4cc068d53d83d95a5fe9c55d

(cherry picked from commit e8278ed)

Also includes the change in #16476.

Co-authored-by: Googler <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-review PR is awaiting review from an assigned reviewer team-Remote-Exec Issues and PRs for the Execution (Remote) team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants