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

BEP's named set of files is incomplete if an action from any output group of a set of groups fails #9413

Closed
jin opened this issue Sep 20, 2019 · 15 comments
Assignees
Labels
P1 I'll work on this now. (Assignee required) team-Core Skyframe, bazel query, BEP, options parsing, bazelrc type: bug

Comments

@jin
Copy link
Member

jin commented Sep 20, 2019

Let T be a target, foo-outputs and bar-outputs be output groups, foo-action and bar-action be actions in T, and foo.out and bar.out be outputs generated by foo-action and bar-action respectively.

  • If we build T and request for foo-outputs, we expect foo.out to be in a NamedSetOfFiles in the BEP output. This is WAI.
  • If we build T and request for foo-outputs and bar-outputs, we expect foo.out and bar.out to be in in their own NamedSetOfFiles, since they were generated by different actions foo-action and bar-action. This is WAI.
  • If we build T and request for foo-outputs and bar-outputs, and bar-action fails, we expect that foo.out to still be listed in BEP. However, this is not the case and foo.out is missing, even with --keep_going.
  • Additionally, if there is a target U that depends on T, U's foo-outputs files will also be missing from the BEP.

This has caused issues with IJwB's Java integration. See this issue for the diagnosis and a repro project. bazelbuild/intellij#1167 (comment)

The intuitive BEP state here is that the foo-outputs files should still be listed, regardless of failing actions requested by other output groups.

@jin jin self-assigned this Sep 20, 2019
@jin jin added the type: bug label Sep 20, 2019
@jin jin added team-Core Skyframe, bazel query, BEP, options parsing, bazelrc P1 I'll work on this now. (Assignee required) and removed untriaged labels Sep 23, 2019
@jin
Copy link
Member Author

jin commented Sep 23, 2019

See simplified repro here: https://github.com/jin/repro/tree/master/9413

@jin
Copy link
Member Author

jin commented Oct 15, 2019

@ulfjack @aehlig does the following intuition look right to you?

The intuitive BEP state here is that the foo-outputs files should still be listed, regardless of failing actions requested by other output groups.

@jin jin added team-Front-End and removed team-Core Skyframe, bazel query, BEP, options parsing, bazelrc labels Oct 15, 2019
@brendandouglas
Copy link
Contributor

Quick mention that this is very important for the IntelliJ plugin, both for Blaze and Bazel users. The workaround of running separate builds (which we don't do, and which would require significant work) causes serious performance regressions when running remotely, so isn't a good option.

@ulfjack
Copy link
Contributor

ulfjack commented Nov 5, 2019

The semantics you describe seem reasonable. Unless it's overly invasive, it seems reasonable to change the implementation to match. I haven't looked at the code.

@jin jin added team-Core Skyframe, bazel query, BEP, options parsing, bazelrc and removed team-Front-End labels Nov 5, 2019
@jin
Copy link
Member Author

jin commented Nov 5, 2019

Moving this over to the Bazel Core team.

@jin jin removed their assignment Nov 8, 2019
@jin
Copy link
Member Author

jin commented Nov 8, 2019

(adgar@ is looking at this)

ittaiz added a commit to wix-playground/intellij that referenced this issue Nov 15, 2019
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413
ittaiz added a commit to wix-playground/intellij that referenced this issue Nov 17, 2019
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413
ittaiz added a commit to wix-playground/intellij that referenced this issue Nov 17, 2019
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413
liucijus pushed a commit to wix-playground/intellij that referenced this issue Nov 19, 2019
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413
@ittaiz
Copy link
Member

ittaiz commented Nov 27, 2019

Any updates?

@jin
Copy link
Member Author

jin commented Nov 27, 2019

@jin
Copy link
Member Author

jin commented Nov 27, 2019

cc @michaeledgar

liucijus pushed a commit to wix-playground/intellij that referenced this issue Nov 28, 2019
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413
liucijus pushed a commit to wix-playground/intellij that referenced this issue Nov 28, 2019
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413
liucijus pushed a commit to wix-playground/intellij that referenced this issue Nov 28, 2019
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 6, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 7, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 8, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 11, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 12, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 13, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 14, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 15, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 18, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 19, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 20, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 21, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 22, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 25, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 26, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 27, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Jan 28, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 1, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 8, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 9, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 11, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 12, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 15, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 16, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 17, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 18, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 19, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Feb 23, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Mar 1, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
WixBuildServer pushed a commit to wix-playground/intellij that referenced this issue Mar 3, 2022
…ith info only

This is to make sure we have the needed metadata even if build broke
Relates to:
bazelbuild#1167
bazelbuild/bazel#9413

Fix test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 I'll work on this now. (Assignee required) team-Core Skyframe, bazel query, BEP, options parsing, bazelrc type: bug
Projects
None yet
Development

No branches or pull requests

6 participants