)]}'
{
  "commit": "2d0a81de8ed66423a2a79fa168e8ec7f31112bbc",
  "tree": "183ab27701277f71e90e4e49571c3686ac6f35eb",
  "parents": [
    "7831ac2c0e29090b88827930c86d05365c5de513"
  ],
  "author": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Thu Jul 21 07:13:20 2022 +0200"
  },
  "committer": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Wed Jul 27 11:12:27 2022 +0200"
  },
  "message": "Persist caches keys index at configurable pace\n\nIntroduce \u0027cache.persistIndexEvery\u0027 parameter (by default \u002715m\u0027) that\nspecifies how often indexes should be persisted to a disk.\nNotes:\n* in order to avoid race condition between evict and persist operations\n  the latter is performed after the former is finished\n* considering the above the smallest duration between persist operations\n  is 30s amd smaller values of \u0027persistIndexEvery\u0027 will be rounded up to\n  30s\n* higher values are rounded down (if needed) to the closest multiple of\n  30s\n* persist operation is additionally called on Gerrit exit - regardless\n  of the configured duration but it will be skipped on a particular\n  index level if there is one already running (as a result of schedule)\n* persist operation is scheduled in a dedicated thread\n  \u0027ChronicleMap-Index-0\u0027\n\nExample when \u0027cache.persistIndexEvery \u003d 2m\u0027 it means that persist\noperation will be performed after every 4th eviction is finished.\nAnd additionally on Gerrit exit provided that there is no one in\nprogress.\n\nBug: Issue 15121\nChange-Id: Ib6ea9c0e2819bf6d93ab4654db9e8a2abc8b5b20\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6b2b546db252b7fcf7f6ea291f9f9a3704ccfbd0",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCaches.java",
      "new_id": "e7e14152389accdf04714200c15c17be22222a0c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCaches.java"
    },
    {
      "type": "modify",
      "old_id": "9e56321ce71ea43dcb6c369acd1163b39556aa9b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/CacheKeysIndex.java",
      "new_id": "c9aff804d2f6972149b729f5443ac7af3d006a64",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/CacheKeysIndex.java"
    },
    {
      "type": "modify",
      "old_id": "2b810782326e479822ad00cbb7e9ec7f16c27381",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheConfig.java",
      "new_id": "3c7f38042a0d6197648930701fdd402b81df8e78",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheConfig.java"
    },
    {
      "type": "modify",
      "old_id": "1161699a50179cea5bb7ba99dd8f6a2d265d00e4",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheFactory.java",
      "new_id": "e4474b051b5fb5f8a43326cb2babd565560fc4ab",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheFactory.java"
    },
    {
      "type": "modify",
      "old_id": "8f33271257eba417ec7f0006759998a9448eeab6",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheImpl.java",
      "new_id": "b9d5c29c5481dee91bea71bcb310de0b5bce4f33",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheImpl.java"
    },
    {
      "type": "modify",
      "old_id": "f96786d3d261027996abdad908945afde37f501d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/H2MigrationServlet.java",
      "new_id": "c3959e93d760cd6e38dda06b068fd8fb339c2c9b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/H2MigrationServlet.java"
    },
    {
      "type": "modify",
      "old_id": "0cacd2223dbf09f9edaf6c24de926a75f10f6b27",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/config.md",
      "new_id": "f554b6b0358cd756192cadee5f42bcd79ce5749c",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/config.md"
    },
    {
      "type": "modify",
      "old_id": "61cacca1336a0903e576534d3bcfaf8e07c11340",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheConfigTest.java",
      "new_id": "7f705f308cb8adabbff640fc609d0a82e06508ff",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheConfigTest.java"
    }
  ]
}
