)]}'
{
  "commit": "c5e584b702633806df89b7460ae7d6b5f320c808",
  "tree": "fa896f5a7b8aa15b72845bdbfa493ea17a797886",
  "parents": [
    "6f9f77d1673578cf5cf7dfc85ed2614a12208cd9"
  ],
  "author": {
    "name": "Przemyslaw Waliszewski",
    "email": "pwaliszewski@gmail.com",
    "time": "Thu Feb 04 17:15:54 2021 +0100"
  },
  "committer": {
    "name": "Przemyslaw Waliszewski",
    "email": "pwaliszewski@gmail.com",
    "time": "Wed Feb 17 21:48:58 2021 +0000"
  },
  "message": "Use separate FlusherRunner to fix NullPointerExceptions\n\nAutoreindex feature tracks all index changes and writes corresponding\ntime stamps in 4 separate files. This fix implements 1 flush runner per\neach index type. This change decreases the amount of file operations and\nfixes NullPointerExceptions.\n\nOriginal patch used a single FlashRunner instance and always updated 4\nindex types. During a startup there was a huge possibility that members\nchangeTs, accountTs, groupTs, projectTs where not initialized at the\nsame time. This led to NullPointerException. The fix spreads flow and\nupdates only 1 index per Listener invocation.\n\nBug: Issue 14030\nChange-Id: I066f8ac009f5e410ccef3066e379c02c2790149c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0e0602af0f5d80a2f1dea9455cb0b95ac1c7f353",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/IndexTs.java",
      "new_id": "8abdb590f4526ccb7b47270203d565308250bac1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/IndexTs.java"
    }
  ]
}
