)]}'
{
  "commit": "f440f8ec3f63e5d663e1f9d9614f05a39422102a",
  "tree": "5d6bce8ee420637cb34506cf5fa9e95afb0f36d7",
  "parents": [
    "4ae85387e69db73e507b4f18b36d3e2f799e5d34"
  ],
  "author": {
    "name": "Chi Wang",
    "email": "chiwang@google.com",
    "time": "Thu Jul 28 17:34:03 2022 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 28 08:34:03 2022 -0700"
  },
  "message": "Remote: Fix performance regression in \"upload missing inputs\". (#15998)\n\nThe regression was introduced in 702df847cf32789ffe6c0a7c7679e92a7ccccb8d where we essentially create a subscriber for each digest to subscribe the result of `findMissingBlobs`.\r\n\r\nThis change update the code to not create so many subscribers but maintain the same functionalities.\r\n\r\nFixes #15872.\r\n\r\nCloses #15890.\r\n\r\nPiperOrigin-RevId: 463826260\r\nChange-Id: Id0b1c7c309fc9653a47c5df95c609b34e6510cde",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5474f8842338322daef1dca5b3811ad4754562b4",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionCache.java",
      "new_id": "24c93850c2c5f2045108355d77a6da4209d5ad7d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionCache.java"
    },
    {
      "type": "modify",
      "old_id": "31369ef4ee1eab82032ec0143747e6dab70dac6e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/remote/util/AsyncTaskCache.java",
      "new_id": "07bed15a53b0d0724b4b83eaf4d41c4630f7e9b0",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/remote/util/AsyncTaskCache.java"
    },
    {
      "type": "modify",
      "old_id": "2c332180a9593ab4385966a1bd378ececf6ae0ef",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/InMemoryRemoteCache.java",
      "new_id": "3a79cac47e60104cf6404e9b09d8c6064da85d62",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/InMemoryRemoteCache.java"
    },
    {
      "type": "modify",
      "old_id": "3b3772cc7004e229e7d1d4e98bafb50ba9173f85",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/RemoteCacheTest.java",
      "new_id": "2406c0ef2de55bf9c1d6d37172a1c96285e04d46",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/RemoteCacheTest.java"
    },
    {
      "type": "modify",
      "old_id": "9d39facdc6a0cccfafdb9cb7349bab6ad45a5d83",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/RemoteExecutionServiceTest.java",
      "new_id": "c7e0839512549b272e6bbcfa8fffe1f0dbabad0b",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/RemoteExecutionServiceTest.java"
    },
    {
      "type": "modify",
      "old_id": "8925640c11ccbc76fb7a0a2eb5664f7c1847b97b",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/remote/util/InMemoryCacheClient.java",
      "new_id": "1fb0fe969ef8ee7a916f4d2b329befb0dcddd71a",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/remote/util/InMemoryCacheClient.java"
    }
  ]
}
