Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert to using matches instead of find with remote_download_regex #16476

Closed
wants to merge 1 commit into from

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 <chiwang@google.com>
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