)]}'
{
  "commit": "9b30172547f2093acb56aedf159a77d5dceffda2",
  "tree": "64cdac22a299672e73b3eab862debfa953178a13",
  "parents": [
    "1c900bfe01af0d9b59ae716a6214d23f0380373c"
  ],
  "author": {
    "name": "Lauri Peltonen",
    "email": "lape@iki.fi",
    "time": "Wed Feb 17 18:12:13 2021 +0200"
  },
  "committer": {
    "name": "Yun Peng",
    "email": "pcloudy@google.com",
    "time": "Mon Mar 01 10:22:11 2021 +0100"
  },
  "message": "[3/3] Bump grpc to 1.33.1 to fix corruption when downloading CAS blobs\n\nPart 3: remove 1.32.x from third_party/grpc.\n\ngrpc-java versions 1.27 through 1.32 had a bug where messages could arrive\nafter the call was reported clsoed.  In the case of bazel, this meant that\nin GrpcCacheClient, onNext could be called after onError.  This leads to\noffset bookkeeping getting out of sync, and corrupts the CAS blob download.\n\nhttps://github.com/bazelbuild/bazel/issues/12927\n\nCloses: https://github.com/bazelbuild/bazel/pull/13106\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8ce2dc1e1c19c4778d71398b5830dd6df95fa27f",
      "old_mode": 33188,
      "old_path": "third_party/grpc/BUILD",
      "new_id": "5b33e42ca210b54526f3fb0d5ec2ef2088354344",
      "new_mode": 33188,
      "new_path": "third_party/grpc/BUILD"
    },
    {
      "type": "delete",
      "old_id": "26b0ae4222e4b8ae861f41566111a314a55b4895",
      "old_mode": 33188,
      "old_path": "third_party/grpc/grpc-api-1.32.2.jar",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "9470c72a2aa916ea2cdf370295b467dc94feee9b",
      "old_mode": 33188,
      "old_path": "third_party/grpc/grpc-auth-1.32.2.jar",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "91e94b65de02c143c72d52d4c3b0dbea6b10dbd5",
      "old_mode": 33188,
      "old_path": "third_party/grpc/grpc-context-1.32.2.jar",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "60ec9075d491bea11c7a486df014432a9c2341c8",
      "old_mode": 33188,
      "old_path": "third_party/grpc/grpc-core-1.32.2.jar",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "a08935fdf059a24e6ae381ef8bab3127eac84063",
      "old_mode": 33188,
      "old_path": "third_party/grpc/grpc-netty-1.32.2.jar",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "5f8e87f0fd64d426ed408f4817b44f6f04477043",
      "old_mode": 33188,
      "old_path": "third_party/grpc/grpc-protobuf-1.32.2.jar",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "1ec35874d92e1c7e793bfa92b43bd8ffb6e9ba51",
      "old_mode": 33188,
      "old_path": "third_party/grpc/grpc-protobuf-lite-1.32.2.jar",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "1b0b6a9b53292a531fd9d439f9e6fc8af4f1516b",
      "old_mode": 33188,
      "old_path": "third_party/grpc/grpc-stub-1.32.2.jar",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "dda6fc177e8a9b16a1b72cc6d2b129e588c517bb",
      "old_mode": 33188,
      "old_path": "third_party/grpc/grpc_1.32.0.patch",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
