)]}'
{
  "commit": "4e896a499822aff080423602636845c3d832fdab",
  "tree": "d1272448bef365239744eced2a76544db4752c11",
  "parents": [
    "228c78f1c6c45e0bd9ac9a3bbd8b973c6f5c52d6"
  ],
  "author": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Thu Dec 19 12:50:18 2019 +0100"
  },
  "committer": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Thu Dec 19 12:50:18 2019 +0100"
  },
  "message": "MergeSuperSet: Handle changes that exist in index but not in NoteDb gracefully\n\nIf a system has multiple primary nodes it can happen that the index\nreturns changes for a topic that don\u0027t exist in NoteDb yet which then\ncauses the SubmittedTogether REST endpoint to fail on permission checks:\n\n1. Change 1 with topic foo is created and replicated to all nodes.\n2. Change 2 with topic foo is created on node X, the index data is\n   replicated to all nodes, but the replication for the Git data is\n   still pending.\n3. The SubmittedTogether REST endpoint is invoked for change 1 on node\n   Y. A query to the change index is executed to find all changes that\n   have the same topic as change 1. The index query by topic returns\n   change 1 and change 2 (because the index data is already replicated).\n   Checking read permissions for change 2 fails because loading the\n   change notes from Git fails (because the Git data was not replicated\n   yet).\n\nInstead of failing we now create the change notes from the index data so\nthat the read permission check can be performed successfully.\n\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\nChange-Id: I4c3284877483b8248f8c2a1f7f529d93f41dbbb8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bcebc7f27c1821b2a542b1d4c7a31f70cb249018",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/submit/MergeSuperSet.java",
      "new_id": "b36eb7d72b4665b9083867b1b478b693d1e54ec4",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/submit/MergeSuperSet.java"
    }
  ]
}
