Automated rollback of commit be26ba030319cf1cda44649d94d7beee4ccc86c4.
*** Reason for rollback ***
It was not the culprit
*** Original change description ***
Automated rollback of commit a6b5b0540a0167f84437127d3dd6cef804286d6f.
*** Reason for rollback ***
Probably the culprit that broke Windows builds with remote caching: https://github.com/bazelbuild/bazel/issues/9072
*** Original change description ***
Streamline uploading of stdout and stderr
This change removes extra upload logic for stdout/stderr. Besides
the streamlined code this also saves two round trips uploading an
action that produced both stdout and s...
***
ROLLBACK_OF=261700869
RELNOTES: None
PiperOrigin-RevId: 261864282
diff --git a/src/main/java/com/google/devtools/build/lib/remote/AbstractRemoteActionCache.java b/src/main/java/com/google/devtools/build/lib/remote/AbstractRemoteActionCache.java
index 716ee4d..03b417d 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/AbstractRemoteActionCache.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/AbstractRemoteActionCache.java
@@ -640,8 +640,10 @@
private final Path execRoot;
private final boolean allowSymlinks;
private final boolean uploadSymlinks;
- private final Map<Digest, Path> digestToFile;
- private final Map<Digest, Chunker> digestToChunkers;
+ private final Map<Digest, Path> digestToFile = new HashMap<>();
+ private final Map<Digest, Chunker> digestToChunkers = new HashMap<>();
+ private Digest stderrDigest;
+ private Digest stdoutDigest;
/**
* Create an UploadManifest from an ActionResult builder and an exec root. The ActionResult
@@ -658,9 +660,17 @@
this.execRoot = execRoot;
this.uploadSymlinks = uploadSymlinks;
this.allowSymlinks = allowSymlinks;
+ }
- this.digestToFile = new HashMap<>();
- this.digestToChunkers = new HashMap<>();
+ public void setStdoutStderr(FileOutErr outErr) throws IOException {
+ if (outErr.getErrorPath().exists()) {
+ stderrDigest = digestUtil.compute(outErr.getErrorPath());
+ addFile(stderrDigest, outErr.getErrorPath());
+ }
+ if (outErr.getOutputPath().exists()) {
+ stdoutDigest = digestUtil.compute(outErr.getOutputPath());
+ addFile(stdoutDigest, outErr.getOutputPath());
+ }
}
/**
@@ -747,6 +757,16 @@
return digestToChunkers;
}
+ @Nullable
+ public Digest getStdoutDigest() {
+ return stdoutDigest;
+ }
+
+ @Nullable
+ public Digest getStderrDigest() {
+ return stderrDigest;
+ }
+
private void addFileSymbolicLink(Path file, PathFragment target) throws IOException {
result
.addOutputFileSymlinksBuilder()