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);
       }
     };
   }