)]}'
{
  "commit": "4d4c00b1681b734e285c233e790603e91fbe9b5c",
  "tree": "39e53f044ff6d4a556ba3c4a735d0ff74ef70e31",
  "parents": [
    "c336499de51880c7da6d6f0d760632ceb537b25b"
  ],
  "author": {
    "name": "Fabian Meumertzheim",
    "email": "fabian@meumertzhe.im",
    "time": "Fri May 29 20:34:23 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri May 29 18:34:23 2026 +0000"
  },
  "message": "[9.1.1] Cache CAS interactions at lower layer to fix lost input handling (#29677)\n\nThe error handling for uploads in `UploadTask` depends on the exec path\nof the uploaded file, which wasn\u0027t part of the `casUploadCache` cache\nkey. Fix this by moving deduplication logic for CAS uploads and\n`FindMissing` calls into `RemoteCacheClient`.\n\nAvoids spurious Bazel failures caused by lost inputs that can\u0027t be\nrecovered from via build or action rewinding due to\n`CacheNotFoundException` being marked with exec paths of inputs to\nconcurrent actions (see the new test case).\n\nNo\n\n- [x] I have added tests for the new use cases (if any).\n- [ ] I have updated the documentation (if applicable).\n\nRELNOTES: Fixed an issue that caused Bazel to fail on a lost input even\nwith build or action rewinding enabled.\n\nCloses https://github.com/bazelbuild/bazel/pull/29551.\n\nPiperOrigin-RevId: 922775351\nChange-Id: Ia22580325c3bc92b56d202e5c24d3630fc8c27a0\n(cherry picked from commit\nhttps://github.com/bazelbuild/bazel/commit/100272284dde7a7504e7581604ddcf826788b6c8,\nincludes\nhttps://github.com/bazelbuild/bazel/commit/5572634408f7ead56ebb544ab037ffa125a0154b\nand\nhttps://github.com/bazelbuild/bazel/commit/8f5af363182885e08179d47313d417e40fa922d5)\n\nFixes #29575\n\n---------\n\nCo-authored-by: tjgq \u003ctjgq@google.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "82527ea219402ea6711c1c1b082d9ef6c78cb673",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/BUILD",
      "new_id": "5eaef77c439145c2da49472db8728a5ba0bfdb3a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/BUILD"
    },
    {
      "type": "modify",
      "old_id": "e006d0f591259ef2f963a771f54c2dd4274197aa",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/DownloadProgressEvent.java",
      "new_id": "08f10451711997f6654c5314c130488484821938",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/DownloadProgressEvent.java"
    },
    {
      "type": "modify",
      "old_id": "34a8ba48e3e46d5ec1ae1f841ee7df6892c0ce2e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/buildeventservice/client/BUILD",
      "new_id": "3372ffed672ed8bc0ddf1a897565d8886cbee42f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/buildeventservice/client/BUILD"
    },
    {
      "type": "modify",
      "old_id": "40514693a1a9f05afd3ed9e188a3f647688f7e6c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/exec/BUILD",
      "new_id": "e8563a5efe5aa31f3104df00982b194859175e1b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/exec/BUILD"
    },
    {
      "type": "modify",
      "old_id": "a14b00fb1b0aea625c2ad68629f7fa2802d74191",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/BUILD",
      "new_id": "5a3cdfbd1a38d57cf78d949aa1f0d8e015ad428a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/BUILD"
    },
    {
      "type": "modify",
      "old_id": "ba7aeb39e4b3a4e4705689ca060915f3d8c77b64",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/CombinedCache.java",
      "new_id": "1dd7931e9891e24e38ef628a5e017d747ca8c013",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/CombinedCache.java"
    },
    {
      "type": "modify",
      "old_id": "b9bc6ed2f4a7e4d8407e55f8f089cc3bfb20e33e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/GrpcCacheClient.java",
      "new_id": "3e4eac4cb39c20ad70b112dd15c41847cae9eea0",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/GrpcCacheClient.java"
    },
    {
      "type": "modify",
      "old_id": "2102f624f3193150583de108f14d6e93886edd7c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionCache.java",
      "new_id": "7264eda369fefe25ff2313483fb4b2730787785a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionCache.java"
    },
    {
      "type": "modify",
      "old_id": "030d235cf0a774b27763139aca1e7aa16026b952",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteExternalOverlayFileSystem.java",
      "new_id": "466d72ac2ddde3a49902e281f0716833a7a4ec58",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteExternalOverlayFileSystem.java"
    },
    {
      "type": "modify",
      "old_id": "4f9dd2936e8fa954ac0d75a334c301ccefa432f1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/chunking/BUILD",
      "new_id": "773fb3a98674c81c6c8db573c8400b8f58179e05",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/chunking/BUILD"
    },
    {
      "type": "modify",
      "old_id": "dd9fda1115e256267ab49c40484869ed6e418aea",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/common/BUILD",
      "new_id": "e4ada2b2d1bc67be5d5fd5be85704a816c345b17",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/common/BUILD"
    },
    {
      "type": "modify",
      "old_id": "fb351ee0d8f43769e886ac470cd1123e02d883cc",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/common/RemoteCacheClient.java",
      "new_id": "6271fba2aa61ede1c0f952cdd71520733a1420f6",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/common/RemoteCacheClient.java"
    },
    {
      "type": "modify",
      "old_id": "962a5388d0ddf29c3456c6d65ef888b47b281af3",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/disk/BUILD",
      "new_id": "7e408a277547f57f44c4b44d9bc483aa5097f0cb",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/disk/BUILD"
    },
    {
      "type": "modify",
      "old_id": "7903db24bee161dd367eacacfc885d5a67c15dd1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/disk/DiskCacheGarbageCollector.java",
      "new_id": "c4da78cbc0762d9a3579e9d1a68b8b61372fde54",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/disk/DiskCacheGarbageCollector.java"
    },
    {
      "type": "modify",
      "old_id": "8d1262400f49f50721baad9517f3438ffe7ffb4d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/downloader/BUILD",
      "new_id": "f1ca8eed96e698c551c569ae453298c4fc27c537",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/downloader/BUILD"
    },
    {
      "type": "modify",
      "old_id": "b25b40b7d4bd123b6f136041b58f39c52ed46329",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/http/BUILD",
      "new_id": "17de1f8e5e406bb7c1f4cbde4a57d4a72675fd33",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/http/BUILD"
    },
    {
      "type": "modify",
      "old_id": "efab3fb264f18129c5bb04308c6ab2df45578b3d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/http/HttpCacheClient.java",
      "new_id": "4581be312bd897942674e8de6c07819b843b17f8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/http/HttpCacheClient.java"
    },
    {
      "type": "modify",
      "old_id": "a1d9d209c8751a6b1be29faf572ca4bdde83b030",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/logging/BUILD",
      "new_id": "bbde93840770253a3284fbcd2fab13def6b54fef",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/logging/BUILD"
    },
    {
      "type": "modify",
      "old_id": "5aff069d98300ab5790e994d89ab14fd9124a850",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/merkletree/BUILD",
      "new_id": "51b2904e9f838816d6d552330ef2ba9a20313551",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/merkletree/BUILD"
    },
    {
      "type": "modify",
      "old_id": "76c652e35430bc234a46ef6be05eeb3374d356fb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/merkletree/MerkleTree.java",
      "new_id": "3896ae7e3f2c0b54f5888aff59d3646d8a89a3a0",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/merkletree/MerkleTree.java"
    },
    {
      "type": "modify",
      "old_id": "da34fa1a7e47467571cff32a5c779ba525f59e41",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/merkletree/MerkleTreeUploader.java",
      "new_id": "ea05f7574b6d414afea06a847db4ed8e677df208",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/merkletree/MerkleTreeUploader.java"
    },
    {
      "type": "modify",
      "old_id": "b61603d3d44a337d308bff4c7927a3b1e8ccdde6",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/util/AsyncTaskCache.java",
      "new_id": "7da0022e0805e80253b9c5b0457ba67971430d48",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/util/AsyncTaskCache.java"
    },
    {
      "type": "modify",
      "old_id": "41607cf12e463c9a4d318549df1e7dc1e95e8ea8",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/util/BUILD",
      "new_id": "0bc9af106ed042ba5aa178300983b78de2daf5e1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/util/BUILD"
    },
    {
      "type": "modify",
      "old_id": "da3e6bbcbc357693faeceadc6abc0a3cf9f63503",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/util/Utils.java",
      "new_id": "06bcc38cdc520c00a7e04ba802d7a5fb9f702c5a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/util/Utils.java"
    },
    {
      "type": "modify",
      "old_id": "49d44103a314582fbe1ff9aceafcec3bd1e6debe",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/util/StringUtilities.java",
      "new_id": "35af25195743d0ad84b8a6cd0e85bca24b889f9a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/util/StringUtilities.java"
    },
    {
      "type": "modify",
      "old_id": "0547d54f726a028019c41c015b896348be51241e",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/buildeventservice/BUILD",
      "new_id": "911f482d7736f5fee446b9c7fb5aa46c3488c656",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/buildeventservice/BUILD"
    },
    {
      "type": "modify",
      "old_id": "3ded09a61b8e6011ac38297f13fb96736970c5ce",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/BUILD",
      "new_id": "7fe764248f3ddc6c33b0477ad1ea9d297c5d8b11",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/BUILD"
    },
    {
      "type": "modify",
      "old_id": "b76fe30174660012292b89c46455edc7b581f38f",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/CombinedCacheTest.java",
      "new_id": "1017f8f02d48ae537f6b4efd9b311331507f56bc",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/CombinedCacheTest.java"
    },
    {
      "type": "modify",
      "old_id": "466e5f8803ea892a006d0b0a0b6d8423c7c8f256",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/InMemoryCombinedCache.java",
      "new_id": "fe779a84f3b7569d5d4031b2ea80c6ede4b2bd33",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/InMemoryCombinedCache.java"
    },
    {
      "type": "modify",
      "old_id": "358cc2503f3cee8907cd90841146c97ffd4bcbce",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/RemoteExecutionServiceTest.java",
      "new_id": "72e1c00d5e73b440ca9511bbe5dccd438ba512f8",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/RemoteExecutionServiceTest.java"
    },
    {
      "type": "modify",
      "old_id": "598fbad7f906acb19110a2397be0e0abda818a1d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/chunking/BUILD",
      "new_id": "90b0e38e589498f96dd4121c9eb1532b6f4c80aa",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/chunking/BUILD"
    },
    {
      "type": "modify",
      "old_id": "599a099a5188a862fe206326df09158642b38d7c",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/disk/BUILD",
      "new_id": "f030d826ce2a00b215c3a8edde93491859e80340",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/disk/BUILD"
    },
    {
      "type": "modify",
      "old_id": "8aee210218a391f895859344100bf3018b0e4d8f",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/downloader/BUILD",
      "new_id": "e7ae8bfff1b300d326e64759f6b9ec90b38ce3b0",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/downloader/BUILD"
    },
    {
      "type": "modify",
      "old_id": "5542a64022e3607793c834453d7d14af8616d62a",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/downloader/GrpcRemoteDownloaderTest.java",
      "new_id": "6fd99ee539c073b81477c94065e258918fb2aa01",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/downloader/GrpcRemoteDownloaderTest.java"
    },
    {
      "type": "modify",
      "old_id": "91b6c87d52e66e9466a622de7b45120bbac9c3bd",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/http/BUILD",
      "new_id": "ec1b56a5ffeb9de1b5defae81a1b0e8fd06d334e",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/http/BUILD"
    },
    {
      "type": "modify",
      "old_id": "cc1dc9d2e53cfe7c9715c583911d85a43791945d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/http/HttpCacheClientTest.java",
      "new_id": "2c140d4946f984fd1c28998421a139c38e831c2f",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/http/HttpCacheClientTest.java"
    },
    {
      "type": "modify",
      "old_id": "c457ccccccfd2ac06b5fb46e2788089a3d55871d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/logging/BUILD",
      "new_id": "326f60c78595f3c9688577468b1aa5a28e863961",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/logging/BUILD"
    },
    {
      "type": "modify",
      "old_id": "89b4f8b1cd192ef361ec915afba768a51fd72077",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/merkletree/BUILD",
      "new_id": "e6a10c1c75105fa11bd627c42fab2721c1754b02",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/merkletree/BUILD"
    },
    {
      "type": "modify",
      "old_id": "05af9648d999350ddb6f5d5be206bd641a8e043a",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/merkletree/MerkleTreeComputerTest.java",
      "new_id": "e849db0a9c0917782fece8e14961799d257ff304",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/merkletree/MerkleTreeComputerTest.java"
    },
    {
      "type": "modify",
      "old_id": "d496c5c239cc3d68d06a6ea02e27377f6cbc2a83",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/util/BUILD",
      "new_id": "fccacf9f3274eeb941a495aa65a687af33bfcf02",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/util/BUILD"
    },
    {
      "type": "modify",
      "old_id": "d8d5c1e3e87822796310c6ccf2ea1ac3f0fa84ea",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/util/InMemoryCacheClient.java",
      "new_id": "af9b9f295a5da9d96fc2dd22b12de380bd265148",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/util/InMemoryCacheClient.java"
    },
    {
      "type": "delete",
      "old_id": "6ec558308216058e75a7beb1f0a9fb41ae28c707",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/util/UtilsTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "e7a65dd9d2762193e0add2bf1026962b7e1b2962",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/util/StringUtilitiesTest.java",
      "new_id": "4716d472036cc5f863eb31ef564cb72137390cd5",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/util/StringUtilitiesTest.java"
    },
    {
      "type": "modify",
      "old_id": "90bcf16d69921b68fba26fdbe36c7bb78725f809",
      "old_mode": 33188,
      "old_path": "src/tools/diskcache/BUILD",
      "new_id": "1154eb54210021ff978e1e20116d94f29682df96",
      "new_mode": 33188,
      "new_path": "src/tools/diskcache/BUILD"
    },
    {
      "type": "modify",
      "old_id": "0f5717b54937e32f020851f9ef874976142572fe",
      "old_mode": 33188,
      "old_path": "src/tools/remote/src/main/java/com/google/devtools/build/remote/worker/BUILD",
      "new_id": "1e3dcf4a8996952f826b49b03a4f7e7d7544638e",
      "new_mode": 33188,
      "new_path": "src/tools/remote/src/main/java/com/google/devtools/build/remote/worker/BUILD"
    }
  ]
}
