)]}'
{
  "commit": "0a8380bec9dceae1bffabddcccd459e82d8674b1",
  "tree": "e95ebaa43fe973f66efa890ca92ba94ece98d256",
  "parents": [
    "6e01b25954d974a36bd345be730611507df902cd"
  ],
  "author": {
    "name": "Ed Schouten",
    "email": "eschouten@apple.com",
    "time": "Tue Mar 28 10:52:57 2023 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Mar 28 10:54:07 2023 -0700"
  },
  "message": "Set the digest_function field as part of all relevant gRPC requests\n\nIn the following PR we extended most of the REv2 *Request messages to take an explicit digest function:\n\nhttps://github.com/bazelbuild/remote-apis/pull/235\n\nThis eliminates the ambiguity between digest functions that have the same hash length (e.g., MD5 and MURMUR3, SHA256 and SHA256TREE). This change extends the REv2 client in Bazel to set the digest_function field explicitly, so that the server does not need to use any heuristics to pick a digest function when processing requests.\n\nAs we are now going to call DigestUtil.getDigestFunction() far more\nfrequently, alter DigestUtil to precompute the value upon construction.\n\nThis change was tested by letting Bazel forward all traffic through an instance of bb_clientd that was patched up to require the use of `digest_function`.\n\nCloses #17772.\n\nPiperOrigin-RevId: 520074622\nChange-Id: Ie92dc368c502b9bc3fddef56a5eb0a238760f673\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dfd9c2a61a571c95c9ca621b557caec431dc9ec4",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/GrpcCacheClient.java",
      "new_id": "9add1cd34bfdcde5ca87150fdfd645ea914dc186",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/GrpcCacheClient.java"
    },
    {
      "type": "modify",
      "old_id": "49d11f17ec702804eeccdf7bb04179ffad58cefb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionService.java",
      "new_id": "11c0c45ef414a7a190503df7e77802139558c458",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionService.java"
    },
    {
      "type": "modify",
      "old_id": "69f521e84da95fb3be3e7126040d825b8b302431",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteRepositoryRemoteExecutor.java",
      "new_id": "3a731f72709be2450f029c18f5294d5dbd59acfa",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteRepositoryRemoteExecutor.java"
    },
    {
      "type": "modify",
      "old_id": "16055f13a7ee3d07632ffa78b919109dd272b347",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/util/DigestUtil.java",
      "new_id": "76b258443890ca629449fbe3535479b3df699351",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/util/DigestUtil.java"
    },
    {
      "type": "modify",
      "old_id": "6fb66f92ce00a3cb47c0d06fff05b7da8aebbe91",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/GrpcCacheClientTest.java",
      "new_id": "26e374d05a958cc39e57bdda4d047c019dd9d35e",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/GrpcCacheClientTest.java"
    }
  ]
}
