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

[6.2.0]Enable revised output directory hash suffix computation #18088

Closed

Conversation

ShreeM01
Copy link
Contributor

Flips --experimental_output_directory_naming_scheme and --experimental_exec_configuration_distinguisher to diff_against_baseline and off, respectively, which makes it so that Starlark transitions can return to previous configurations, thus improving cache hit rates.

Also changes the fixed platform suffix in the exec configuration from an empty string to "exec" for compatibility with logic that looks for the substring -exec- in paths to determine whether the current configuration is the exec configuration.

As a result of this commit, output directory paths can change in the following ways:

  • -ST-<hash> suffixes can change or disappear and, in rare cases, appear where they previously didn't
  • for exec configuration directories, k8-opt-exec-2B5CBBC6 becomes k8-opt-exec-ST-011b9bdc32ed

This may result in tool paths that are seven characters longer, which can cause builds on Windows to fail that were already very close to the MAX_PATH limit. A follow-up commit will reduce the length of the hash by three characters, bringing that increase down to four.

Work towards #14023

Closes #16910.
Commit: 94d8bd3

PiperOrigin-RevId: 523999034
Change-Id: Id5548a00b62ebfe7889cd40177995210ecc224c1

fmeum and others added 2 commits April 13, 2023 12:00
Flips `--experimental_output_directory_naming_scheme` and `--experimental_exec_configuration_distinguisher` to `diff_against_baseline` and `off`, respectively, which makes it so that Starlark transitions can return to previous configurations, thus improving cache hit rates.

Also changes the fixed platform suffix in the exec configuration from an empty string to `"exec"` for compatibility with logic that looks for the substring `-exec-` in paths to determine whether the current configuration is the exec configuration.

As a result of this commit, output directory paths can change in the following ways:
* `-ST-<hash>` suffixes can change or disappear and, in rare cases, appear where they previously didn't
* for exec configuration directories, `k8-opt-exec-2B5CBBC6` becomes `k8-opt-exec-ST-011b9bdc32ed`

This may result in tool paths that are seven characters longer, which can cause builds on Windows to fail that were already very close to the `MAX_PATH` limit. A follow-up commit will reduce the length of the hash by three characters, bringing that increase down to four.

Work towards bazelbuild#14023

Closes bazelbuild#16910.

PiperOrigin-RevId: 523999034
Change-Id: Id5548a00b62ebfe7889cd40177995210ecc224c1
@fmeum
Copy link
Collaborator

fmeum commented Apr 13, 2023

@kshyanashree We ultimately decided against cherry-picking this. Sorry for the effort!

@ShreeM01
Copy link
Contributor Author

ShreeM01 commented Apr 13, 2023

@kshyanashree We ultimately decided against cherry-picking this. Sorry for the effort!

Ohh I see! No problem, I am closing this PR.Thanks for the info!

@ShreeM01 ShreeM01 closed this Apr 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants