)]}'
{
  "commit": "99e6e70e9d084d1b9185858ed88a7fde5edf6700",
  "tree": "d1107d411d92aa3427b7e3e33dda31c7824ffa4b",
  "parents": [
    "d2f93a069bf18ab6c7382c7ca1d76bf29c1f1587"
  ],
  "author": {
    "name": "bazel.build machine account",
    "email": "ci.bazel@gmail.com",
    "time": "Fri Oct 09 09:20:30 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Oct 09 09:20:30 2026 +0000"
  },
  "message": "[10.0.0] Report the failure of a shared download with the input of each caller (#31468) (#31689)\n\n### Description\n\nDownloads of remote files are deduplicated by the path of the file they\nwrite, which different inputs can resolve to, e.g. two symlinks to the\nsame file. If such a download failed because the file was no longer\navailable in the remote cache, every caller received the failure that\nnames the input of the caller that started the download.\n\nEach caller now receives a failure that names its own input.\n\n### Motivation\n\nAn action that joined a download through a different input couldn\u0027t find\nthe reported input among its own and failed instead of reporting a lost\ninput, which could have been recovered.\n\nWork towards #31456\n\n### Build API Changes\n\nNo\n\n### Release Notes\n\nRELNOTES: None\n\nCloses #31468\n\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/bazel/pull/31468\nfrom fmeum:prefetch-shared-download-failures\na6358e19a728b99247f69d3a9d2b211ceb624efa\nPiperOrigin-RevId: 996373669\nChange-Id: Ifa3c460b188d3014759a0fcab332af785045c921\n\nCommit\nhttps://github.com/bazelbuild/bazel/commit/c646df338059abc82824283d9740d874b67f7c13\n\nCo-authored-by: Fabian Meumertzheim \u003cfabian@meumertzhe.im\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b451439b5e8313f56bec582a784f7411db8021d0",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/AbstractActionInputPrefetcher.java",
      "new_id": "868c1d5a240700a510c6c75547c4f616ab7d1868",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/AbstractActionInputPrefetcher.java"
    },
    {
      "type": "modify",
      "old_id": "77939c46c035998496146ce1e6452769ee6a138c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/BUILD",
      "new_id": "8ca0a6d2608d7ab54d559fb511c5179e5575990e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/BUILD"
    },
    {
      "type": "modify",
      "old_id": "ba7fc8abc4aaa414bb3dc282a69e94a6a801b935",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/ActionInputPrefetcherTestBase.java",
      "new_id": "db100527c28ced2efe37e1c75e1957304e4e1acc",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/ActionInputPrefetcherTestBase.java"
    },
    {
      "type": "modify",
      "old_id": "c3c5840226a77f726414af33bafb6b24ee4f6a83",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/BUILD",
      "new_id": "64c2b6d2cacce06f70f98624ce4d0ad64246bf7d",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/BUILD"
    }
  ]
}
