)]}'
{
  "commit": "b1a05c0c2ef2d5fe60f0c4c5863576707540dbbf",
  "tree": "ac26020672a60c0090c44e1efb09f1e2bef1063f",
  "parents": [
    "7bd06ec479cf7a48c2af62b76cc8dd51ce014721"
  ],
  "author": {
    "name": "Antonio Barone",
    "email": "syntonyze@gmail.com",
    "time": "Tue Sep 02 21:39:32 2025 +0200"
  },
  "committer": {
    "name": "Antonio Barone",
    "email": "syntonyze@gmail.com",
    "time": "Wed Sep 03 11:22:11 2025 +0200"
  },
  "message": "Use ChangeIndexer.deleteAllForProject on project deletion\n\nWhen a project is deleted, all its changes must be removed from the\nindex. The plugin previously iterated over write indexes and called\nChangeIndex.deleteAllForProject() directly. This bypassed the higher-\nlevel API and duplicated index selection logic.\n\nRoute the deletion through ChangeIndexer.deleteAllForProject(), which:\n- Centralizes index handling across backends and shards.\n- Emits the onAllChangesDeletedForProject notification for listeners.\n- Simplifies the code by removing the local iteration helper.\n\nThis aligns the plugin with the API introduced in I4c8a53629 and avoids\nthe pitfalls of calling low-level ChangeIndex operations directly.\n\nNote: this partially re-applies reverted I7a171837bca, without the\nprovided notification via stream events, which was not correct.\n\nBug: Issue 440670678\nChange-Id: I7a171837bca5103094caa9c302afb6409f075195\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "99dc1640a923bbd59335ab01ebd68582ba1431e7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/deleteproject/database/DatabaseDeleteHandler.java",
      "new_id": "a40cab3e6bb132c77defecca16c71e745b99515d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/deleteproject/database/DatabaseDeleteHandler.java"
    }
  ]
}
