)]}'
{
  "commit": "cb1f9f6038f361a22b501e958bb0710985e561c5",
  "tree": "0f1d006e31da76e4ed47a6494cab4b01ed820c04",
  "parents": [
    "49c9475aa7db252c19157ee059c40862a412df5d"
  ],
  "author": {
    "name": "Chi Wang",
    "email": "chiwang@google.com",
    "time": "Thu Sep 17 23:37:19 2020 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Sep 17 23:38:14 2020 -0700"
  },
  "message": "Add CallCredentialsProvider and refresh credentials in ByteStreamUploader\n\nUsers may get authentication error in the mid of a long remote build due to credentials timeout. This PR:\n1. Add `CallCredentialsProvider` which can be used by gRPC clients to refresh credentials.\n2. Update `ByteStreamUploader.java` to use the provider and refresh credentials on authentication error.\n\nThe next step would be updating other places where using `CallCrendentials` currently (e.g. `RemoteCacheClient.java`) to use this provider and refresh credentials when necessary.\n\nCloses #12106.\n\nPiperOrigin-RevId: 332394306\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "23b717840372d1084151ca7dc7b962e0608f888c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/authandtls/BUILD",
      "new_id": "55b2ebb202f649f53c1f609919b86bd80802b77e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/authandtls/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d2dc5d42d4d55b11551cacdafccb1a855144e0f6",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/authandtls/CallCredentialsProvider.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6c833f7429174f0d177bdedf80a22a15bc617d3c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/authandtls/GoogleAuthCallCredentialsProvider.java"
    },
    {
      "type": "modify",
      "old_id": "c3ec90e878ed90a8437700e2a0a0882f2c1d4e0b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/authandtls/GoogleAuthUtils.java",
      "new_id": "c3bd004644f1ce58e849ec6979444a4599515f4b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/authandtls/GoogleAuthUtils.java"
    },
    {
      "type": "modify",
      "old_id": "711cdd199e72826baf2edb92029a44cd52bf9e5b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/ByteStreamUploader.java",
      "new_id": "a9d58085203c22c43f26a750c01b5ca6511923f0",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/ByteStreamUploader.java"
    },
    {
      "type": "modify",
      "old_id": "2f35be1ab074c334b43fec30b36f5b8efd5fcdd7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java",
      "new_id": "5629ce2a81a7f89d5aed0d650945339b92ef5187",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java"
    },
    {
      "type": "modify",
      "old_id": "9fa0208e26561eaffb528c01d1f54fa4e39302d9",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/Retrier.java",
      "new_id": "19ee40b4af28b4b6f28cd39feacf542dd4593e03",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/Retrier.java"
    },
    {
      "type": "modify",
      "old_id": "51881924f7459766265bbf9f54dc9bbff397033f",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/ByteStreamBuildEventArtifactUploaderTest.java",
      "new_id": "ce3072e5cc3895e0f162b8c8b5ab58b482d416c0",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/ByteStreamBuildEventArtifactUploaderTest.java"
    },
    {
      "type": "modify",
      "old_id": "8bed33ca95dfd4ad9b303d1cdaf77b88ab8677db",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/ByteStreamUploaderTest.java",
      "new_id": "dcd9975b98705b811ee2dfdb6a7f62d68e373cbb",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/ByteStreamUploaderTest.java"
    },
    {
      "type": "modify",
      "old_id": "82bbf0688519fe6ba78ce8e3df5566e9b1de7ea6",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/GrpcCacheClientTest.java",
      "new_id": "a75bcb096ff2a79ea21b578612141a8f86009e20",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/GrpcCacheClientTest.java"
    },
    {
      "type": "modify",
      "old_id": "823fe755ed277060c2201de65554f896acd810b3",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/GrpcRemoteExecutionClientTest.java",
      "new_id": "0d8fd7f1f24cb1b4d0bfe1b0432c0da850a25853",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/GrpcRemoteExecutionClientTest.java"
    }
  ]
}
