Add some debugging for bizarre BES-RemoteActionFileSystem interaction bug.
#12225
PiperOrigin-RevId: 336148320
diff --git a/src/main/java/com/google/devtools/build/lib/actions/FileArtifactValue.java b/src/main/java/com/google/devtools/build/lib/actions/FileArtifactValue.java
index aae6b76..8cef2a6 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/FileArtifactValue.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/FileArtifactValue.java
@@ -558,7 +558,7 @@
private final String actionId;
public RemoteFileArtifactValue(byte[] digest, long size, int locationIndex, String actionId) {
- this.digest = digest;
+ this.digest = Preconditions.checkNotNull(digest, actionId);
this.size = size;
this.locationIndex = locationIndex;
this.actionId = actionId;
diff --git a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java
index 36f1522..53f72c6 100644
--- a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java
+++ b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java
@@ -485,7 +485,8 @@
throw new RuntimeException(
String.format(
"Unexpected Exception '%s' when closing BEP transports, this is a bug.",
- e.getCause().getMessage()));
+ e.getCause().getMessage()),
+ e);
} finally {
if (besUploadModeIsSynchronous) {
cancelAndResetPendingUploads();
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteActionFileSystem.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteActionFileSystem.java
index daedfdb..bf292b2 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/RemoteActionFileSystem.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteActionFileSystem.java
@@ -275,7 +275,7 @@
return super.stat(path, followSymlinks);
}
- private FileStatus statFromRemoteMetadata(RemoteFileArtifactValue m) {
+ private static FileStatus statFromRemoteMetadata(RemoteFileArtifactValue m) {
return new FileStatus() {
@Override
public boolean isFile() {
@@ -314,7 +314,7 @@
@Override
public long getNodeId() {
- throw new UnsupportedOperationException();
+ throw new UnsupportedOperationException("Cannot get node id for " + m);
}
};
}