forked from bazelbuild/bazel
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Cp18269 #3
Open
iancha1992
wants to merge
19
commits into
cp18450
Choose a base branch
from
cp18269
base: cp18450
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Cp18269 #3
Conversation
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
In bazelbuild#18202, we discussed the possibility of conditionally using the new field exclusively based on the Remote Execution Server's capabilities. Capture Remote Execution Server's capabilities and store it in RemoteExecutor implementations for furture usage. Closes bazelbuild#18269. PiperOrigin-RevId: 531999688 Change-Id: I370869a45c804af1ec499b9c1654c6977c7ab7d0
…8471) If the HTTP response to a download request contains a `Content-Length` header, download progress is now reported as `10.1 MiB (20.2%)` instead of `10.1 MiB (10,590,000B)`. Closes bazelbuild#18450. PiperOrigin-RevId: 534035444 Change-Id: I1c5144555eda1890652b4d3f62b414292ba909d5 Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im>
…s. (bazelbuild#18476) Fixes bazelbuild#13355. PiperOrigin-RevId: 534008963 Change-Id: Ia4f22f16960bcdae86c1a8820e3d47a3689876d8
…azelbuild#18481) Closes bazelbuild#18461. PiperOrigin-RevId: 534006853 Change-Id: I256297fe494393f13e178bf74f967b9b691db281 Co-authored-by: Benjamin Peterson <benjamin@engflow.com>
googletest only reads `GTEST_SHARD_STATUS_FILE`, not `TEST_SHARD_STATUS_FILE`, so this variable has to be set to keep sharded `cc_test`s relying on the test framework working with `--incompatible_check_sharding_support`. Closes bazelbuild#18469. PiperOrigin-RevId: 534375567 Change-Id: I0ca909cc7eb0b0f28f756e90e333e6bf39a0954d Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im>
- Update GitHub token retrieval - Allow checking out tags (final releases) in addition to branches (RCs) PiperOrigin-RevId: 534851155 Change-Id: I8b92898a8f5dd20139ca2467bb8604c6a8eabd67
With Xcode 14.3+ on x86_64 machines there is an opaque error when linking binaries on macOS because Apple removed an old support library. That library is only linked if the macOS target is < 10.11, so this bumps the default versions past that. This macOS version was released in September 2015. Fixes bazelbuild#18278 Closes bazelbuild#18460. PiperOrigin-RevId: 534743568 Change-Id: I131880096c941df0097fe3b1faabd5a6afada4f3 Co-authored-by: Keith Smiley <keithbsmiley@gmail.com>
The use of the pipe in bazelbuild@b8e92cc made it swallow the exit code, so we need to set pipefail. Fix bazelbuild#18493 Closes bazelbuild#18498. PiperOrigin-RevId: 535520323 Change-Id: Idf1a5c39bf5b7deec29b76c10ece2825b568ebf2 Co-authored-by: Tobias Werth <twerth@google.com>
…ild#18527) The default timeout makes the integration tests 1% flaky on RBE. PiperOrigin-RevId: 535255555 Change-Id: I8270ffbfcbd00ec7c38a92a546d5726f1b10b68d
PiperOrigin-RevId: 536324450 Change-Id: I62c0aa7c91f5b38ddae9fae0127ea7b3fb601862 Co-authored-by: Ian (Hee) Cha <heec@google.com>
…elbuild#18536) ModuleExtensionMetadata incorrectly identified repos by their local names rather than the names used by the generating extension, which resulted in incorrect fixup warnings when supplying keyword arguments to `use_repo`. Closes bazelbuild#18528. PiperOrigin-RevId: 536386347 Change-Id: I4368b0dcdc28d6b2827b74b3b0b73c31a0215c0f Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im>
…8540) It's totally fine for helpers to not care about the request on stdin and close stdin early. ``` ERROR: java.io.IOException: Broken pipe at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(Unknown Source) at java.base/java.io.BufferedOutputStream.flushBuffer(Unknown Source) at java.base/java.io.BufferedOutputStream.flush(Unknown Source) at java.base/java.io.FilterOutputStream.close(Unknown Source) at java.base/sun.nio.cs.StreamEncoder.implClose(Unknown Source) at java.base/sun.nio.cs.StreamEncoder.close(Unknown Source) at java.base/java.io.OutputStreamWriter.close(Unknown Source) at com.google.devtools.build.lib.authandtls.credentialhelper.CredentialHelper.getCredentials(CredentialHelper.java:83) at com.google.devtools.build.lib.authandtls.credentialhelper.CredentialHelperCredentials.getCredentialsFromHelper(CredentialHelperCredentials.java:108) at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$13(BoundedLocalCache.java:2451) at java.base/java.util.concurrent.ConcurrentHashMap.compute(Unknown Source) at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2449) at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2432) at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:107) at com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62) at com.google.devtools.build.lib.authandtls.credentialhelper.CredentialHelperCredentials.getRequestMetadata(CredentialHelperCredentials.java:80) at com.google.auth.Credentials.blockingGetToCallback(Credentials.java:112) at com.google.auth.Credentials$1.run(Credentials.java:98) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) ``` Follow-up on bazelbuild@7c235ff Closes bazelbuild#18501. PiperOrigin-RevId: 536403312 Change-Id: I837bae70978e29f748c0fcc398c8f64de2b7b7c6 Co-authored-by: Yannic <yannic@engflow.com>
…ld#18516) `-//foo` and `-@repo//foo` are always invalid Bazel options, but are usually meant to be either negative target patterns (which have to come after the `--` separator) or Starlark options (which always start with `--`). With this commit, the error shown to the user mentions these two situations and how to fix the issue in each case. Closes bazelbuild#16563. PiperOrigin-RevId: 486920951 Change-Id: I9390d3859aa62c2b67eac05cb96a06209a9b7c36 Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im>
* feat: Implement failure circuit breaker Copy of bazelbuild#18120: I accidentally closed bazelbuild#18120 during rebase and doesn't have permission to reopen. We have noticed that any problems with the remote cache have a detrimental effect on build times. On investigation we found that the interface for the circuit breaker was left unimplemented. To address this issue, implemented a failure circuit breaker, which includes three new Bazel flags: 1) experimental_circuitbreaker_strategy, 2) experimental_remote_failure_threshold, and 3) experimental_emote_failure_window. In this implementation, I have implemented failure strategy for circuit breaker and used failure count to trip the circuit. Reasoning behind using failure count instead of failure rate : To measure failure rate I also need the success count. While both the failure and success count need to be an AtomicInteger as both will be modified concurrently by multiple threads. Even though getAndIncrement is very light weight operation, at very high request it might contribute to latency. Reasoning behind using failure circuit breaker : A new instance of Retrier.CircuitBreaker is created for each build. Therefore, if the circuit breaker trips during a build, the remote cache will be disabled for that build. However, it will be enabled again for the next build as a new instance of Retrier.CircuitBreaker will be created. If needed in the future we may add cool down strategy also. e.g. failure_and_cool_down_startegy. closes bazelbuild#18136 Closes bazelbuild#18359. PiperOrigin-RevId: 536349954 Change-Id: I5e1c57d4ad0ce07ddc4808bf1f327bc5df6ce704 * remove target included in cherry-pick by mistake
…18418) Adds the missing check that a test runner running a sharded test actually declares support for sharding by generating the `TEST_SHARD_STATUS_FILE`. Previously, if it didn't, each shard would silently run all tests. This new behavior is guarded by the new `--incompatible_check_sharding_support` flag. Closes bazelbuild#18236. PiperOrigin-RevId: 530259354 Change-Id: If3b01b2c796e66ad7a77e542145efe3ab412eae9 Co-authored-by: keertk <keerthanakumar@google.com> Co-authored-by: Yun Peng <pcloudy@google.com>
Fixes this crash when e.g. the `sha256` attribute is passed an upper case string: ``` Caused by: java.lang.IllegalArgumentException: Illegal hexadecimal character: D at com.google.common.hash.HashCode.decode(HashCode.java:360) at com.google.common.hash.HashCode.fromString(HashCode.java:346) at com.google.devtools.build.lib.bazel.repository.downloader.Checksum.fromString(Checksum.java:47) at com.google.devtools.build.lib.bazel.repository.starlark.StarlarkBaseExternalContext.validateChecksum(StarlarkBaseExternalContext.java:302) at com.google.devtools.build.lib.bazel.repository.starlark.StarlarkBaseExternalContext.downloadAndExtract(StarlarkBaseExternalContext.java:650) ... ``` Fixes bazelbuild#18291 Closes bazelbuild#18305. PiperOrigin-RevId: 529601921 Change-Id: I75deee47bcac80ee81603591c22f43d013ba0c29 Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im>
Currently, this results in a server crash along the lines of: ``` FATAL: bazel crashed due to an internal error. Printing stack trace: java.lang.RuntimeException: Unrecoverable error while evaluating node '[/redacted]/[WORKSPACE.bazel], 1' (requested by nodes 'com.google.devtools.build.lib.skyframe.ExternalPackageFunction$$Lambda$231/0x0000000800df7998@34f133c') at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:642) at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:382) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: net.starlark.java.eval.Starlark$UncheckedEvalException: NullPointerException thrown during Starlark evaluation (WORKSPACE) at <starlark>.repository_rule(<builtin>:0) at <starlark>.<toplevel>(/redacted/WORKSPACE.bazel:3) Caused by: java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because "name" is null at com.google.devtools.build.lib.cmdline.RepositoryName.create(RepositoryName.java:71) at com.google.devtools.build.lib.packages.WorkspaceFactoryHelper.addMainRepoEntry(WorkspaceFactoryHelper.java:106) at com.google.devtools.build.lib.bazel.repository.starlark.StarlarkRepositoryModule$RepositoryRuleFunction.createRuleLegacy(StarlarkRepositoryModule.java:228) at com.google.devtools.build.lib.bazel.repository.starlark.StarlarkRepositoryModule$RepositoryRuleFunction.call(StarlarkRepositoryModule.java:185) ``` Closes bazelbuild#18335. PiperOrigin-RevId: 530577557 Change-Id: Ic402e8fabac180aaa2da19cd3201b9fb2671dccb Co-authored-by: Daniel Wagner-Hall <dwagnerhall@apple.com>
…zelbuild#18412) Even with this commit, the fact that a particular label in a repository rule's label attributes does not resolve to a regular file is not tracked, which means that there is still a potential for incorrect incremental fetches. Work towards bazelbuild#13441 Closes bazelbuild#18352. PiperOrigin-RevId: 531150549 Change-Id: I086e4813ca88a3f49cde77d9be20adaaf954834b Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im> Co-authored-by: keertk <keerthanakumar@google.com>
@bazel-io fork 6.3.0 |
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Closed
@bazel-io fork 6.3.0 |
Open
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #362