)]}'
{
  "commit": "323ff55d47eb6434e7932ba0de761c02c81cae43",
  "tree": "e5eb37d290924f35ed5bcd31eea8eec289245ecb",
  "parents": [
    "9a1e0b9c4e61d30bb2635892173817ca0c431d86"
  ],
  "author": {
    "name": "Antonio Barone",
    "email": "syntonyze@gmail.com",
    "time": "Tue Apr 30 09:22:36 2024 +0200"
  },
  "committer": {
    "name": "Antonio Barone",
    "email": "syntonyze@gmail.com",
    "time": "Tue Apr 30 19:19:29 2024 +0200"
  },
  "message": "Stop memoizing fetch refSpecs\n\nChange I29507376e introduced the memoization fetch refsSpecs.\n\nThis was intended to avoid expensive, repeated delta computations for\nfetches without an explicit delta to fetch (for example via the\n`pull-replication start` SSH command), however the memoization was\nintroduced for _both_ delta and non-delta fetches.\n\nThe problem with this approach is that it doesn\u0027t account for the fact\nthat delta is a mutable entity: `FetchOne` could be rescheduled for\nwhatever reason, consolidating new refs into a new delta.\n\nIf `FetchOne` tried to replicate again based on the new delta refs, the\nmemoizing would have caused the return of the previous delta value,\ncausing the effective loss of the refs to replicate.\n\nRemove memoization altogether. This trade offs the possible expensive\ncomputation of expanding non-delta fetches multiple times, in case of a\nreschedule, in favour of accuracy of in fetching only the relevant refs.\n\nBug: Issue 337338030\nChange-Id: I06442a66896205258b2b0411f74855465c333864\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "66aa8d483bbccdad657f962bab195142e12519fc",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java",
      "new_id": "bad77d35c420bdcc6dff534c7ea3dcd6c9664a54",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java"
    },
    {
      "type": "modify",
      "old_id": "47d5391e8176f941702cd1b9044be3ed11065a74",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/FetchCommand.java",
      "new_id": "3227698cfe8a11f48b4b6a73c1e69d5654c41741",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/FetchCommand.java"
    }
  ]
}
