)]}'
{
  "log": [
    {
      "commit": "ab404bf9e06fd7efb7b1f4acba33f10d4104ec9e",
      "tree": "8015fc4362ee891388f014bd9b29946f0ba59af3",
      "parents": [
        "b11e79c8f17ada15d433d9c6b41e6ec713707122"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Wed Aug 20 13:34:17 2025 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Wed Aug 20 13:34:17 2025 +0200"
      },
      "message": "Add missing dependencies for converters\n\nwhich are required since I7f9822e06b4097c8b7d93f7510d4616da4fc6d2d moved\nconverters into a separate BUILD file.\n\nChange-Id: I8022c0c26e723f3e9b3cf3d00c93e921680646c3\n"
    },
    {
      "commit": "b11e79c8f17ada15d433d9c6b41e6ec713707122",
      "tree": "cf490efa3d982388a166dec64ad65466c5aa34ea",
      "parents": [
        "7e96e05e18649678bce0a400f2aa5e793cbf0918"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Thu Jun 05 14:15:37 2025 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Thu Jun 05 14:21:04 2025 +0200"
      },
      "message": "Add version specific tags for V7 and V8 elasticsearch tests\n\nto allow skipping V7 or V8 tests individually.\n\nChange-Id: I20c005dbf183b3c07e0d032a06a147ec0c408510\n"
    },
    {
      "commit": "7e96e05e18649678bce0a400f2aa5e793cbf0918",
      "tree": "01db67e9a4e7747759cd947eeffcd61c0366d593",
      "parents": [
        "e97ad15e8dce66ed4d3ab0fdac3a0c73447c2ad4"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon May 26 16:35:42 2025 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon May 26 16:35:42 2025 +0200"
      },
      "message": "Update elasticsearch containers used in tests to 7.17.28 / 8.18.1\n\nChange-Id: I40361d989df0d35622e0b2e97fe83624475406fa\n"
    },
    {
      "commit": "e97ad15e8dce66ed4d3ab0fdac3a0c73447c2ad4",
      "tree": "7c0cf5a740bdd7aaa89a1f4d4068a3c7024ea621",
      "parents": [
        "e9aec58e359e1556a8909788197cb8691bfcbe0b"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon May 26 16:20:48 2025 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon May 26 16:20:48 2025 +0200"
      },
      "message": "Update elasticsearch-rest-client to 8.18.1\n\nChange-Id: I6c99f75ca42778d862bab994ccea5db6f61d39ce\n"
    },
    {
      "commit": "e9aec58e359e1556a8909788197cb8691bfcbe0b",
      "tree": "1b25be87414f8518478a5fc3f86bc96f3f41f030",
      "parents": [
        "4c6e6644903b605857d9fdc3a1055eee48979eff"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon May 26 16:16:00 2025 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon May 26 16:16:00 2025 +0200"
      },
      "message": "Update testcontainers to 1.21.0 and docker java client to 3.4.2\n\nChange-Id: I933c3591e6cf9cecbb33355109236056c50157cb\n"
    },
    {
      "commit": "4c6e6644903b605857d9fdc3a1055eee48979eff",
      "tree": "9db2b757302887e618736852bd33353862e369a0",
      "parents": [
        "5842db75ce3183ca517ffe8dcd21da0157ab9b21",
        "5ac080c12d2679e99de77f1ed92d1614982225d5"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon May 26 15:48:25 2025 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon May 26 15:48:25 2025 +0200"
      },
      "message": "Merge remote-tracking branch \u0027origin/stable-3.10\u0027\n\n* origin/stable-3.10:\n  Adapt to changes in Gerrit core\n  Reformat with gjf 1.24.0\n\nChange-Id: Idc4653826daf30a5aee980e62765c88c34b328e5\n"
    },
    {
      "commit": "5ac080c12d2679e99de77f1ed92d1614982225d5",
      "tree": "b9af6876b8e9958224c8e402fb7bafd33a48e1cc",
      "parents": [
        "b9705c5037a21b74186b78702ca6eb6c2a934297"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@qti.qualcomm.com",
        "time": "Wed Apr 02 09:51:18 2025 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@qti.qualcomm.com",
        "time": "Wed Apr 02 12:12:54 2025 -0700"
      },
      "message": "Adapt to changes in Gerrit core\n\nindex.onlineUpgrade was updated in I109da60a08 to be ternary. Update\nElasticIndexVersionManager to adapt to that change.\n\nChange-Id: Ib650791fe94aba614024cbfb50e0b3a614367b91\n"
    },
    {
      "commit": "b9705c5037a21b74186b78702ca6eb6c2a934297",
      "tree": "6da346f846e3cc0ff5d42486026107ec1ef74138",
      "parents": [
        "08c9aea10b66a187888f1344efc6f45ca2d2d57a"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@qti.qualcomm.com",
        "time": "Wed Apr 02 12:12:38 2025 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@qti.qualcomm.com",
        "time": "Wed Apr 02 12:12:38 2025 -0700"
      },
      "message": "Reformat with gjf 1.24.0\n\nChange-Id: I08265e52227ddc0b739fbcc3529feec6152e78b5\n"
    },
    {
      "commit": "5842db75ce3183ca517ffe8dcd21da0157ab9b21",
      "tree": "8b310704cfedc518009b705987325033723692e1",
      "parents": [
        "17f8d570405b2bdedd8e29be0b906605898817e9"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Nov 22 11:47:52 2024 +0100"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Nov 22 11:47:52 2024 +0100"
      },
      "message": "Add deleteAllForProject() for changes index\n\nThis method was added in Gerrit core to support scenarios involving\nthe deletion of all changes of a single project.\n\nThis is realised by using the _delete_by_query API.\n\nChange-Id: I6ab3388ea8d5a190dae1d50f4c42e7fde9bc57ee\n"
    },
    {
      "commit": "17f8d570405b2bdedd8e29be0b906605898817e9",
      "tree": "ce86debbb5ab58d7b615e7af5e71a3538dea8d1d",
      "parents": [
        "0b7d4b89cfaf8c6fca6c5d842dfa48d233d6b6e4",
        "08c9aea10b66a187888f1344efc6f45ca2d2d57a"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Sat Oct 26 22:21:33 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Sat Oct 26 22:21:33 2024 +0200"
      },
      "message": "Merge branch \u0027stable-3.10\u0027\n\n* stable-3.10:\n  ElasticContainer: remove unused private constant\n  ElasticContainer: suppress unclosed resource warning\n  Replace use of deprecated Changes#id(int) method\n  Suppress unused parameter warning\n  AbstractElasticIndex: remove redundant type arguments\n  Replace deprecated JsonParser constructor and parse method\n  Update testcontainers to latest release 1.20.2\n  Fix version check regexes and allow any 7.x and 8.x versions\n\nChange-Id: I68a8afd371eb6d6df41d5bb5a586d511e477c059\n"
    },
    {
      "commit": "0b7d4b89cfaf8c6fca6c5d842dfa48d233d6b6e4",
      "tree": "6db0d8926f40782e57e3967c8a1da4ff1cf3e88b",
      "parents": [
        "f42bf9768de1c8184f00f89c4b5ac0fcfd3a8100"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Wed Oct 16 23:52:57 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Sat Oct 26 22:19:41 2024 +0200"
      },
      "message": "Implement new numDocs() method\n\nwhich was introduced in Ib054133d2592f40ae96a6b029097db49fc378cd0.\n\nChange-Id: If4e5c7a5b390ad10b00a8fcb1c94e6dae78826b7\n"
    },
    {
      "commit": "08c9aea10b66a187888f1344efc6f45ca2d2d57a",
      "tree": "ba504e2512ce853a6b0a118030390a153da3f4d8",
      "parents": [
        "8239f753644de7e865d5b7e6918affa57f7561fe"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Tue Oct 15 15:05:15 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Oct 25 23:06:27 2024 +0200"
      },
      "message": "ElasticContainer: remove unused private constant\n\nChange-Id: I1bcd7843221107ce0d8bbb9cbde815bcf64514fe\n"
    },
    {
      "commit": "8239f753644de7e865d5b7e6918affa57f7561fe",
      "tree": "18e2088115645df37687a12a80520b4689d34ff0",
      "parents": [
        "6c475cb64b55b0a83b0745b9d620855b176dc331"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Tue Oct 15 15:04:27 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Oct 25 23:06:27 2024 +0200"
      },
      "message": "ElasticContainer: suppress unclosed resource warning\n\nThe close method has a default implementation in the interface Startable\nwhich calls container.stop(). We already call stop() in the\nstopElasticsearchServer() method of the abstract test classes which are\ncalled via @AfterClass junit annotation when all tests in the respective\ntest class have been executed.\n\nChange-Id: I5d4831f21b4825fe8a92105c34bbe255123c7b85\n"
    },
    {
      "commit": "6c475cb64b55b0a83b0745b9d620855b176dc331",
      "tree": "6bab4846acfa12efff6d7508998700884e98da2e",
      "parents": [
        "46d674f2440c40c41fe32c33cd4dc2737112d42d"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Tue Oct 15 14:10:27 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Oct 25 23:06:27 2024 +0200"
      },
      "message": "Replace use of deprecated Changes#id(int) method\n\nuse Changes#id(String, int) instead.\n\nChange-Id: Ie4d492805213fdf19f8eaf8c309dff6448625fc2\n"
    },
    {
      "commit": "46d674f2440c40c41fe32c33cd4dc2737112d42d",
      "tree": "2d3d71969ab83a77baf8a3f3b52261b2a189d003",
      "parents": [
        "6dddb553ace0f1c920d87c2f96134c90aa4e8973"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Tue Oct 15 12:05:41 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Oct 25 23:06:27 2024 +0200"
      },
      "message": "Suppress unused parameter warning\n\nChange-Id: I677ec8eed7be2b08be7efbb5dad0b71b555c0063\n"
    },
    {
      "commit": "6dddb553ace0f1c920d87c2f96134c90aa4e8973",
      "tree": "54372361c55a8d6fd0578d452cbaa4940649c362",
      "parents": [
        "a2355e7f6eadcba8633f6c3bccc07b2d1bc9e504"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Tue Oct 15 12:04:20 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Oct 25 23:06:27 2024 +0200"
      },
      "message": "AbstractElasticIndex: remove redundant type arguments\n\nChange-Id: Ic75ced5f69f34425e2bdb881d22ba1cea16ca6b6\n"
    },
    {
      "commit": "a2355e7f6eadcba8633f6c3bccc07b2d1bc9e504",
      "tree": "37e6a87e9a1b04633938d46c04a8285fb053105e",
      "parents": [
        "9f3d4d3f90007e7ba69b722e37f8a8c8d1d84e90"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Tue Oct 15 12:03:19 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Oct 25 23:06:23 2024 +0200"
      },
      "message": "Replace deprecated JsonParser constructor and parse method\n\nwith the static JsonParser#parseString method.\n\nChange-Id: Ic75c86c6b6d102f1a78bf7d9b594a03089174887\n"
    },
    {
      "commit": "9f3d4d3f90007e7ba69b722e37f8a8c8d1d84e90",
      "tree": "76327316811cd19610ba5a53ad6414d59dc7e6a9",
      "parents": [
        "01f94a12e267dda0697379f51e0a465515557740"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Oct 14 16:37:08 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Thu Oct 24 21:19:07 2024 +0200"
      },
      "message": "Update testcontainers to latest release 1.20.2\n\nand docker-java to 3.4.0 required by testcontainers 1.20.2.\n\nChange-Id: If7d6d59dc6615e6b3e3ee8f9a8613c081c03ba93\n"
    },
    {
      "commit": "01f94a12e267dda0697379f51e0a465515557740",
      "tree": "97e0702912a1d92e65ea7359878e70f2fa6e072a",
      "parents": [
        "f42bf9768de1c8184f00f89c4b5ac0fcfd3a8100"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Wed Oct 16 13:00:12 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Thu Oct 24 21:19:07 2024 +0200"
      },
      "message": "Fix version check regexes and allow any 7.x and 8.x versions\n\nThe regex patterns were glob expressions but were used to create Java\nregular expressions which is wrong. Fix the patterns.\n\nRelax the rules to allow any ElasticSearch 7.x and 8.x server version\nsince the low-level REST client documentation says [1]:\n\n\"There is no relation between the client version and the Elasticsearch\nversion that the client can communicate with. The low-level REST\nclient is compatible with all Elasticsearch versions.\"\n\nAlso allow non-releases like alpha, beta or release candidates.\n\n[1] https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/java-rest-low-usage-maven.html\n\nChange-Id: Ia14678200a9b92bbe195b176321e34e2bba7b92d\n"
    },
    {
      "commit": "f42bf9768de1c8184f00f89c4b5ac0fcfd3a8100",
      "tree": "3f1eee4102752092194720fa714704c3ba0db1d0",
      "parents": [
        "10ce51cc90955a19bb289a9b0fb7f6f96374ecbf"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Tue Oct 15 13:47:12 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Tue Oct 15 13:57:56 2024 +0200"
      },
      "message": "Update elasticsearch used in tests to 7.17.24 and 8.15.2\n\nThese are currently the latest 7.x and 8.x releases.\n\nRelease notes:\n- 7.x: https://www.elastic.co/guide/en/elasticsearch/reference/7.17/es-release-notes.html\n- 8.x: https://www.elastic.co/guide/en/elasticsearch/reference/8.15/es-release-notes.html\n\nChange-Id: I1fd61d05aaefa75177ab8f373eabd982b36e6132\n"
    },
    {
      "commit": "10ce51cc90955a19bb289a9b0fb7f6f96374ecbf",
      "tree": "ce96e1ddc158bee5222bd361c2bf9a2c66238f77",
      "parents": [
        "01148ef4048c18eb2a710f1542efda3485b3b9f9"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Oct 14 16:04:49 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Oct 14 16:14:38 2024 +0200"
      },
      "message": "Update elasticsearch-rest-client to latest release 8.15.2\n\nand update its dependencies accordingly\n- httpasyncclient to 4.1.5 required by elasticsearch-rest-client 8.15.2\n- httpcore-nio to 4.4.16, elasticsearch-rest-client 8.15.2 requires at\n  least 4.4.13, we already use httpcore 4.4.16 in Gerrit core\n\n$ git log --oneline ^v8.3.2 v8.15.2 -- client/rest/src/main/\na50e58d99ac Use single-char variant of String.indexOf() where possible (#105205)\n6f4e293d296 Add `require_data_stream` feature (#101872)\ncd2bb08957a Set thread name used by REST client (#103160)\ne8c3a72785a Extract constant for ?ignore pseudo-parameter (#102365)\nf2154e86870 Fix unnecessary string concatenations (#90405)\n4d2929bb281 Do not retry client requests when failing with ContentTooLargeException (#87248)\n\nChange-Id: Ibeb7f307d95ed9383ea288f0b9f3291b16ece0dd\n"
    },
    {
      "commit": "01148ef4048c18eb2a710f1542efda3485b3b9f9",
      "tree": "2be5eb32964e0788114553c2248f6c413bd8ef86",
      "parents": [
        "889e82df5eae7de8404816859906a5e7959d30c2"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Apr 24 09:37:04 2024 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Apr 24 09:45:20 2024 -0700"
      },
      "message": "Fixes for stable-3.10 and master\n\nUpdate for changed class/method signatures.\n\nRelease-Notes: skip\nChange-Id: I3f4616856461e941ac6a4985bfdbaef94fd108cf\n"
    },
    {
      "commit": "889e82df5eae7de8404816859906a5e7959d30c2",
      "tree": "dd7cf002be1e9528bf78f3080bd2a9fb24dc450b",
      "parents": [
        "e83a6501c2a029689f46801aca30377e0ee0cc9d",
        "ccebdbc99518a01cdc9c328efff7428cc9a90a9b"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Apr 23 09:08:21 2024 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Apr 23 09:08:21 2024 -0700"
      },
      "message": "Merge branch \u0027stable-3.8\u0027 into stable-3.9\n\n* stable-3.8:\n  test: Simplify SSL setup\n  Add 8.9.* to supported versions\n  test: Always enable SSL for ES containers\n  Bump testcontainers to 1.19.7\n  Remove unused build var\n  test: Add assert for closing indexes\n  test: Use the \u0027withTag\u0027 helper to get DockerImageName\n  Include an \u0027Accept\u0027 header for Content-Type in requests\n  Add a debug log while insert/replace change index operation\n\nRelease-Notes: skip\nChange-Id: Ib1d2a6507aaa653fabbadd78c575db3e0534598b\n"
    },
    {
      "commit": "ccebdbc99518a01cdc9c328efff7428cc9a90a9b",
      "tree": "7d0108d368777072826492f5ba7be2d989fc62d0",
      "parents": [
        "0765c4f28bde41b53e173e14585aaa0c1de090f4",
        "2ab24900a9434716d089d3dddc015223c934cdcc"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Apr 18 15:52:32 2024 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Apr 23 07:33:53 2024 -0700"
      },
      "message": "Merge branch \u0027stable-3.7\u0027 into stable-3.8\n\n* stable-3.7:\n  test: Simplify SSL setup\n  Add 8.9.* to supported versions\n  test: Always enable SSL for ES containers\n  Bump testcontainers to 1.19.7\n  Remove unused build var\n  test: Add assert for closing indexes\n  test: Use the \u0027withTag\u0027 helper to get DockerImageName\n  Include an \u0027Accept\u0027 header for Content-Type in requests\n  Add a debug log while insert/replace change index operation\n\nRelease-Notes: skip\nChange-Id: I6ca7330ee220281b84ca248d6a4b91971467aea5\n"
    },
    {
      "commit": "2ab24900a9434716d089d3dddc015223c934cdcc",
      "tree": "5e2a4974f8be93ff54bb82736e75e7b50deae974",
      "parents": [
        "5b03669c0fd23d87cc5e90e44367264dc9de9e32",
        "62dfef0271cf3bcff15c5dd7c0655aa30b211212"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Apr 18 15:41:10 2024 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Apr 18 15:41:10 2024 -0700"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6:\n  test: Simplify SSL setup\n  Add 8.9.* to supported versions\n  test: Always enable SSL for ES containers\n  Bump testcontainers to 1.19.7\n  Remove unused build var\n  test: Add assert for closing indexes\n  test: Use the \u0027withTag\u0027 helper to get DockerImageName\n  Include an \u0027Accept\u0027 header for Content-Type in requests\n  Add a debug log while insert/replace change index operation\n\nRelease-Notes: skip\nChange-Id: Ie5405692f11cdbc33269212c07935798ab06a1a1\n"
    },
    {
      "commit": "62dfef0271cf3bcff15c5dd7c0655aa30b211212",
      "tree": "9611b42428cad4425d613897a57beff7719e3806",
      "parents": [
        "6db3b04bfed4e2d7213f2ae6fdb6a42eb5b5bda6",
        "17d40a64e1820d7ed5c4166b3481e85de294633b"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Apr 18 15:39:19 2024 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Apr 18 15:39:46 2024 -0700"
      },
      "message": "Merge branch \u0027stable-3.5\u0027 into stable-3.6\n\n* stable-3.5:\n  test: Simplify SSL setup\n  Add 8.9.* to supported versions\n  test: Always enable SSL for ES containers\n  Bump testcontainers to 1.19.7\n  Remove unused build var\n  test: Add assert for closing indexes\n  test: Use the \u0027withTag\u0027 helper to get DockerImageName\n  Include an \u0027Accept\u0027 header for Content-Type in requests\n  Add a debug log while insert/replace change index operation\n\nRelease-Notes: skip\nChange-Id: I1426e2fd38b21d64c81804560b96b34a07ccd466\n"
    },
    {
      "commit": "17d40a64e1820d7ed5c4166b3481e85de294633b",
      "tree": "1e320bd82c353a5145b3a6e1526cc28bf1f49072",
      "parents": [
        "5e5414f6065ddacd17938a4e6d1d259f5730b580"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Apr 18 14:52:24 2024 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Apr 18 14:52:24 2024 -0700"
      },
      "message": "test: Simplify SSL setup\n\nWe can always use the container\u0027s getHost() instead of trying to parse\nthe value from the DOCKER_HOST environment variable.\n\nChange-Id: I7807a6d0d1b6b9156b375d956331988d43e0362f\n"
    },
    {
      "commit": "5e5414f6065ddacd17938a4e6d1d259f5730b580",
      "tree": "89e6fd718046fba587a2c6f46256ac3fa18dc4ce",
      "parents": [
        "756ec2b22197e9ba3eac9495fade1d36b47e48d8"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Feb 07 07:47:05 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Apr 18 13:30:37 2024 -0700"
      },
      "message": "Add 8.9.* to supported versions\n\nAlso, run tests with 8.9.2 by refactoring most of the code into abstract\nclasses. The tests need \"action.destructive_requires_name\" set to false\nin order to close indexes with a wildcard. False is the default in\nElasticsearch 7.*, but not in 8.*.\n\nChange-Id: I42bd5efb57004ad05c21c21628dbd13031b3c686\n"
    },
    {
      "commit": "756ec2b22197e9ba3eac9495fade1d36b47e48d8",
      "tree": "a5fca05bbc43d4022c297717ff032e361f22f2cd",
      "parents": [
        "96ad748ba0190adac8eb052527f5f0555bee8f90"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Feb 08 15:50:41 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Apr 18 13:30:37 2024 -0700"
      },
      "message": "test: Always enable SSL for ES containers\n\nMost of the test code assumed the test container would always be\nunsecured (reachable via \u0027http://\u0027, no username/password, etc), but it\u0027s\npossible (and the default in newer Elasticsearch versions) to configure\nthe container to run in a secure mode. Use the new support in\ntestcontainers to always enable SSL for ES so that Elasticsearch\nversions will be tested similarly.\n\nThis change ensures the tests use any passwords and self-signed\ncertificates generated by the test container, as well as correctly using\n\u0027https://\u0027 URLs when needed.\n\nThis change uses the tests in testcontainers [1] as an example for how\nto do this and ensures the docker-in-docker setup used by gerrit-ci is\nsupported.\n\n[1] https://github.com/testcontainers/testcontainers-java/blob/main/modules/elasticsearch/src/test/java/org/testcontainers/elasticsearch/ElasticsearchContainerTest.java\n\nChange-Id: Ifca5948995ec881d8e941702fef611a3455e0cb7\n"
    },
    {
      "commit": "96ad748ba0190adac8eb052527f5f0555bee8f90",
      "tree": "b259fded0f61089b55288efd2ca90ad482af4174",
      "parents": [
        "4197838219521e7de0d4db4b1137e09b9ed13f5f"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Apr 17 12:56:37 2024 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Apr 18 13:28:24 2024 -0700"
      },
      "message": "Bump testcontainers to 1.19.7\n\nAdds better support for Elasticsearch SSL configuration and other fixes.\n\nRelease notes:\n https://github.com/testcontainers/testcontainers-java/releases/tag/1.19.7\n https://github.com/testcontainers/testcontainers-java/releases\n\nChange-Id: If37edd33f83840498d8741a4c798e53b591fdfa0\n"
    },
    {
      "commit": "4197838219521e7de0d4db4b1137e09b9ed13f5f",
      "tree": "a431a3621649572460a6f1c903687e13c6aa926e",
      "parents": [
        "55744941adeb00a25a7826e7a06de161ba7f7076"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Feb 09 14:32:59 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Mon Feb 26 18:57:46 2024 +0000"
      },
      "message": "Remove unused build var\n\nLooks like this was left in by mistake when the docker tests were\nre-added.\n\nChange-Id: Ie0b26072824974cc340743fde13792a0a37eb889\n"
    },
    {
      "commit": "55744941adeb00a25a7826e7a06de161ba7f7076",
      "tree": "f11b2ad7c94cd937d548cd8d234a40263a3d321f",
      "parents": [
        "eaf9111b7278685a8a962a92ac494b28ca9f5fad"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Feb 08 16:04:59 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Feb 08 16:13:05 2024 -0800"
      },
      "message": "test: Add assert for closing indexes\n\nWe weren\u0027t checking the server response when we closed the indexes\ncreated by each test. Failed closes will lead to other test failures\nlater, so it\u0027s better to catch them up front.\n\nChange-Id: I6a43332427012ab15658643580644baa39a0b2d1\n"
    },
    {
      "commit": "eaf9111b7278685a8a962a92ac494b28ca9f5fad",
      "tree": "b9cfb2b1eb9cae3b71daa88ce7fec3cf17ec2b37",
      "parents": [
        "56924e94e1ba30a189c4f99f9175e260d696aec2"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Feb 08 15:42:39 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Feb 08 15:42:39 2024 -0800"
      },
      "message": "test: Use the \u0027withTag\u0027 helper to get DockerImageName\n\nThis results in less duplication when we have multiple images with the\nsame name and different tags.\n\nChange-Id: I705f927faa4f698fa4f96e8039f08bac70965c29\n"
    },
    {
      "commit": "56924e94e1ba30a189c4f99f9175e260d696aec2",
      "tree": "f1f27ca569239e088155dd508ef8d98d0ab02e92",
      "parents": [
        "8636be90ae319ba5e783e8410125fbd5706897d6"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Feb 08 15:35:12 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Feb 08 15:35:12 2024 -0800"
      },
      "message": "Include an \u0027Accept\u0027 header for Content-Type in requests\n\nWe always expect a Content-Type of \u0027application/json\u0027 with a charset of\nUTF-8, so we should include that in our request headers. Also improve\nthe response parsing to use the ContentType helper and ignore case for\ncompatibility with newer Elasticsearch versions.\n\nChange-Id: I11984a49f0487dc1b8c979c503d3124cf3aa9c50\n"
    },
    {
      "commit": "8636be90ae319ba5e783e8410125fbd5706897d6",
      "tree": "5aa7bdfc28944d5ee66a04cf2f0ae03e495c1cbb",
      "parents": [
        "7fa3f06e86626d1dc1ceb3f55d814cfa26274a3f"
      ],
      "author": {
        "name": "Prudhvi Akhil Alahari",
        "email": "prudhvi.alahari@linaro.org",
        "time": "Mon Dec 18 14:32:49 2023 +0530"
      },
      "committer": {
        "name": "Prudhvi Akhil Alahari",
        "email": "prudhvi.alahari@linaro.org",
        "time": "Tue Jan 02 11:09:33 2024 +0530"
      },
      "message": "Add a debug log while insert/replace change index operation\n\nAdd a debug log while indexing a change doc, which helps in debugging\nissues when the ES ends up with a stale change doc.\n\nChange-Id: Id920dec50f0bf3e48dc2b64b671c4f8bc20023f9\n"
    },
    {
      "commit": "e83a6501c2a029689f46801aca30377e0ee0cc9d",
      "tree": "f946ae780ea3802a95d2867ad3689cc893e25f18",
      "parents": [
        "0765c4f28bde41b53e173e14585aaa0c1de090f4"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Oct 27 17:21:21 2023 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Oct 27 17:24:11 2023 -0700"
      },
      "message": "Merge from stable-3.8 and fix for 3.9\n\nMerge stable-3.8:\n7fa3f06e86 Index.replace: Log responses containing errors\n9fa64809c8 Remove warning stating that Elasticsearch is not production ready\n8c54bd177a Failfast when elasticsearch module has paginationType set to NONE\nc746f31de8 Fix documentation for building elasticsearch module\nbeda74a674 Remove double brace initialization\ne4fa395396 Add trace timer around Elasticsearch\u0027s performRequest\n47ef2fa0a9 Fix Flogger issues flagged by error prone\n7e83929b0e Fix incorrect symlink in build docs\n48626d9791 Fix Flogger compile time errors\n\nThe fix accounts for Change I49487989 which added support for an empty\nquery to list all projects.\n\nRelease-Notes: skip\nChange-Id: I02bc6c5315056a324d964afa4da75609a4ec012b\n"
    },
    {
      "commit": "0765c4f28bde41b53e173e14585aaa0c1de090f4",
      "tree": "3f088722dcf34782cbb4ef253c9ead6e45ecd843",
      "parents": [
        "00fd5cf7fa97c65492a431ef156f2726d98394f1",
        "5b03669c0fd23d87cc5e90e44367264dc9de9e32"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Oct 27 16:19:02 2023 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Oct 27 16:19:02 2023 -0700"
      },
      "message": "Merge branch \u0027stable-3.7\u0027 into stable-3.8\n\n* stable-3.7:\n  Index.replace: Log responses containing errors\n  Remove warning stating that Elasticsearch is not production ready\n  Add trace timer around Elasticsearch\u0027s performRequest\n  Fix Flogger issues flagged by error prone\n  Fix incorrect symlink in build docs\n  Fix Flogger compile time errors\n\nRelease-Notes: skip\nChange-Id: Ifd24fd0842e22433532a6169599368dfc0869b63\n"
    },
    {
      "commit": "5b03669c0fd23d87cc5e90e44367264dc9de9e32",
      "tree": "784cbc603c585d59d2c355313a12c0a933c8703f",
      "parents": [
        "f1cfaf3ae0cc532ccc6382a2e4f16a11e4a16535",
        "6db3b04bfed4e2d7213f2ae6fdb6a42eb5b5bda6"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Oct 27 16:05:27 2023 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Oct 27 16:05:27 2023 -0700"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6:\n  Index.replace: Log responses containing errors\n  Remove warning stating that Elasticsearch is not production ready\n  Add trace timer around Elasticsearch\u0027s performRequest\n  Fix Flogger issues flagged by error prone\n  Fix incorrect symlink in build docs\n  Fix Flogger compile time errors\n\nRelease-Notes: skip\nChange-Id: Ie0ec42836a3444c44ae660c2c858486f054feca5\n"
    },
    {
      "commit": "6db3b04bfed4e2d7213f2ae6fdb6a42eb5b5bda6",
      "tree": "48dcda8a1b4a66aee0316a0e29a31533cd0ba80d",
      "parents": [
        "8c54bd177a01303ed689d48887bd4ddc35508184",
        "7fa3f06e86626d1dc1ceb3f55d814cfa26274a3f"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Oct 27 15:31:23 2023 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Oct 27 15:31:23 2023 -0700"
      },
      "message": "Merge branch \u0027stable-3.5\u0027 into stable-3.6\n\n* stable-3.5:\n  Index.replace: Log responses containing errors\n  Remove warning stating that Elasticsearch is not production ready\n  Add trace timer around Elasticsearch\u0027s performRequest\n  Fix Flogger issues flagged by error prone\n  Fix incorrect symlink in build docs\n  Fix Flogger compile time errors\n\nRelease-Notes: skip\nChange-Id: I42642e61af9166bf1155f333fe57a01a46c5b80c\n"
    },
    {
      "commit": "7fa3f06e86626d1dc1ceb3f55d814cfa26274a3f",
      "tree": "2d4e75823fa7aa2e03c322c068f9e314f5eca2ac",
      "parents": [
        "9fa64809c8c0b719e3a85af07f89ce8eb9d1ed0f"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Sep 07 10:15:47 2023 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Fri Sep 22 18:15:08 2023 -0700"
      },
      "message": "Index.replace: Log responses containing errors\n\nLogging errors can help with triage.\n\nChange-Id: Idefb8dacd0b3fb51f1006f947873dc92ffbd641f\n"
    },
    {
      "commit": "9fa64809c8c0b719e3a85af07f89ce8eb9d1ed0f",
      "tree": "a122d74099dfaef91c3910e5d0a4a26fca7466b5",
      "parents": [
        "a5263131cd8c64cc040e021ac32095a314b6e44c"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Aug 29 14:36:15 2023 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Aug 29 14:40:03 2023 -0700"
      },
      "message": "Remove warning stating that Elasticsearch is not production ready\n\nElasticsearch is now used in a large production Gerrit installation\nin Qualcomm. Remove the warning as it is no longer experimental.\n\nChange-Id: I14592a4a747024bd7df33fcae56ef5ae054e0c7a\n"
    },
    {
      "commit": "00fd5cf7fa97c65492a431ef156f2726d98394f1",
      "tree": "cc3ba95d5611c6c710ff7817b5507ce55e2d265a",
      "parents": [
        "343301843d21a6bbfef5407b7b66e17a1ff36405",
        "f1cfaf3ae0cc532ccc6382a2e4f16a11e4a16535"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Tue Aug 15 09:32:42 2023 +0200"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Tue Aug 15 09:32:42 2023 +0200"
      },
      "message": "Merge branch \u0027stable-3.7\u0027 into stable-3.8\n\n* stable-3.7:\n  Failfast when elasticsearch module has paginationType set to NONE\n  Fix documentation for building elasticsearch module\n  Remove double brace initialization\n\nChange-Id: I78a6ca9ed3ebba0e7ab116a4bbdb509a4a93c65e\n"
    },
    {
      "commit": "f1cfaf3ae0cc532ccc6382a2e4f16a11e4a16535",
      "tree": "e88d9803362573662c678992d22bdf2eb93a0f32",
      "parents": [
        "0dcec673dd1a82af756ea944e9cd102113223b25",
        "8c54bd177a01303ed689d48887bd4ddc35508184"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Tue Aug 15 09:30:16 2023 +0200"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Tue Aug 15 09:30:16 2023 +0200"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6:\n  Failfast when elasticsearch module has paginationType set to NONE\n  Fix documentation for building elasticsearch module\n  Remove double brace initialization\n\nChange-Id: I769de3008d5c2407c3fe9b5fd2e3ff74cec50d75\n"
    },
    {
      "commit": "8c54bd177a01303ed689d48887bd4ddc35508184",
      "tree": "30ebe3293a4903c13d1298fe63c7da3f7566efdf",
      "parents": [
        "c746f31de8100d4dce1ad8a17f957449b5517613"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Mon Aug 07 08:54:30 2023 +0200"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Tue Aug 08 07:39:01 2023 +0200"
      },
      "message": "Failfast when elasticsearch module has paginationType set to NONE\n\nThe paginationType NONE option needs to be honoured by the indexing\nbackend (see change 377794).\nThe elasticsearch backend doesn\u0027t support this configuration therefore\nit throws ProvisisionException during the startup when such\nconfiguration is detected. Here is the exception message:\n\n  The \u0027index.paginationType \u003d NONE\u0027 configuration is not supported\n  by Elasticsearch\n\nNotes:\n* `ElasticConfigurationTest` was modified to ahere to modified\n  constructor and to verify that `ProvisionException` is thrown when\n  `NONE` pagination type is configured\n\nBug: Issue 291106652\nChange-Id: I47c6b7f972e2b1d443cc5748386290dc10556f2a\n"
    },
    {
      "commit": "c746f31de8100d4dce1ad8a17f957449b5517613",
      "tree": "73a76793cd5ee7f11c7b11d7f7d2ff5b50dbd704",
      "parents": [
        "beda74a6745e5a4d6cc0e35ad9bbaa298b9f52b3"
      ],
      "author": {
        "name": "Diego Zambelli Sessona",
        "email": "diego.sessona@gmail.com",
        "time": "Mon Jul 17 18:39:15 2023 +0100"
      },
      "committer": {
        "name": "Diego Zambelli Sessona",
        "email": "diego.sessona@gmail.com",
        "time": "Tue Jul 18 08:37:09 2023 +0000"
      },
      "message": "Fix documentation for building elasticsearch module\n\nUpdate steps in build.md documentation to correctly\nbuild the index-elasticsearch module.\n\nBug: Issue 291524063\nRelease-Notes: skip\nChange-Id: I5c9b03c078bc57c1c51a66d62ba65f1f97dfb9c1\n"
    },
    {
      "commit": "beda74a6745e5a4d6cc0e35ad9bbaa298b9f52b3",
      "tree": "691778299161ae1a721d5d4a4c9e94a8b7fd7608",
      "parents": [
        "606d4868d6150069abfa78fe873302ee6c684d91"
      ],
      "author": {
        "name": "Diego Zambelli Sessona",
        "email": "diego.sessona@gmail.com",
        "time": "Thu Jul 13 12:52:09 2023 +0100"
      },
      "committer": {
        "name": "Diego Zambelli Sessona",
        "email": "diego.sessona@gmail.com",
        "time": "Mon Jul 17 09:19:55 2023 +0000"
      },
      "message": "Remove double brace initialization\n\nThe build of this module was failing due to not being compliant with the\nerrorprone setting, in particular with double brace initalization [1].\nThis can also be seen on the CI [2].\n\n[1]: https://errorprone.info/bugpattern/DoubleBraceInitialization\n[2]: https://gerrit-ci.gerritforge.com/view/Plugins-stable-3.7/job/module-index-elasticsearch-bazel-stable-3.7/\n\nBug: Issue 291102095\nRelease-Notes: skip\nChange-Id: Id07f8688a4e68c0998dcf57c77f035b1e0ebc11d\n"
    },
    {
      "commit": "a5263131cd8c64cc040e021ac32095a314b6e44c",
      "tree": "9c4c703c6a55b14491a5558354947c463ecdeaf9",
      "parents": [
        "3ec47c72ae6bce119eb9e0f1c448454d7fcc7b19",
        "e4fa3953965cf817f5e5331b5954c3f907536a29"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Fri Jul 07 16:29:33 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 07 16:29:33 2023 +0000"
      },
      "message": "Merge \"Add trace timer around Elasticsearch\u0027s performRequest\" into stable-3.5"
    },
    {
      "commit": "3ec47c72ae6bce119eb9e0f1c448454d7fcc7b19",
      "tree": "66307bc41e167030bad61e8f80352b6932ffd279",
      "parents": [
        "7e83929b0e4b613808d808acf46b8a71968cd750",
        "47ef2fa0a951112b97f14c614729f15510d4634d"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Fri Jul 07 16:29:16 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 07 16:29:16 2023 +0000"
      },
      "message": "Merge \"Fix Flogger issues flagged by error prone\" into stable-3.5"
    },
    {
      "commit": "e4fa3953965cf817f5e5331b5954c3f907536a29",
      "tree": "cb3ae8f7a52eeabe4d7c4e266741b4cc2f79cb7d",
      "parents": [
        "47ef2fa0a951112b97f14c614729f15510d4634d"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Jul 06 16:51:19 2023 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Jul 06 17:17:50 2023 -0700"
      },
      "message": "Add trace timer around Elasticsearch\u0027s performRequest\n\nThis can come in handy when triaging Elasticsearch cluster health.\n\nChange-Id: I3524bb3a98b01de30508a3b4776501c0f2b3fd5a\n"
    },
    {
      "commit": "47ef2fa0a951112b97f14c614729f15510d4634d",
      "tree": "8aa8af38bbe0c1c63a93a21c4454c55385ccfc00",
      "parents": [
        "528ba6e135d9e280887337c412b1cb02fe562504"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Jul 06 13:27:45 2023 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Jul 06 16:53:29 2023 -0700"
      },
      "message": "Fix Flogger issues flagged by error prone\n\nChange-Id: Ifbf514ba38bbcbb934e4a4f64865c0a858653679\n"
    },
    {
      "commit": "7e83929b0e4b613808d808acf46b8a71968cd750",
      "tree": "66307bc41e167030bad61e8f80352b6932ffd279",
      "parents": [
        "48626d9791a4c6b540ec09554c0a02aaadcc28b3"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Fri Jun 02 10:19:21 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Fri Jun 02 10:58:50 2023 +0100"
      },
      "message": "Fix incorrect symlink in build docs\n\nChange-Id: I93631b1c9ba89f788325fc4eeb4544dbe9810864\n"
    },
    {
      "commit": "48626d9791a4c6b540ec09554c0a02aaadcc28b3",
      "tree": "a763bf6a2a3726f2aad918d108b0a957e6bd7931",
      "parents": [
        "528ba6e135d9e280887337c412b1cb02fe562504"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Fri Jun 02 10:33:13 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Fri Jun 02 10:58:50 2023 +0100"
      },
      "message": "Fix Flogger compile time errors\n\nChange-Id: Ibe2ef29d345a2dab26ceec37cab89c2887cf3691\n"
    },
    {
      "commit": "343301843d21a6bbfef5407b7b66e17a1ff36405",
      "tree": "5af71e3d5f8980f496dbf687561af20bb0d275ee",
      "parents": [
        "cae666ff113cc1f3edb5990a0647aa7bdf55aba2"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Jan 19 16:35:20 2023 -0800"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Feb 16 22:31:29 2023 +0000"
      },
      "message": "Update \u0027exact\u0027 field mapping to avoid duplicate data\n\nAs an example, the mapping for the exact field \u0027status\u0027 in \u0027changes\u0027\nindex is updated as below to avoid duplication.\n\nWithout change:\n  \"status\": {\n    \"type\": \"keyword\",\n    \"fields\": {\n      \"key\": {\n        \"type\": \"keyword\"\n      }\n    }\n  }\n\nWith change:\n  \"status\": {\n    \"type\": \"keyword\"\n  }\n\nOn a Gerrit instance with ~4M changes, this change brings down the\nsize of changes index from ~25G to ~20G.\n\nRelease-Notes: Size of indices is reduced. Re-index is required.\nChange-Id: I680eb01c7e8c96548ddb4b321f383916f165af28\n"
    },
    {
      "commit": "cae666ff113cc1f3edb5990a0647aa7bdf55aba2",
      "tree": "53f1d6f192ca151deca15b64a06c539cb6f10972",
      "parents": [
        "c94f2c5e92516f50a2ff2294263808366e8b88bb",
        "0dcec673dd1a82af756ea944e9cd102113223b25"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Feb 16 13:03:19 2023 -0800"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Feb 16 13:13:18 2023 -0800"
      },
      "message": "Merge branch \u0027stable-3.7\u0027\n\n* stable-3.7: (24 commits)\n  Add an analyzer with tokenizer:keyword to prefix fields\n  Prune _source to only contain stored fields\n  Introduce \u0027elasticsearch.codec\u0027 config\n  Disable tracking total number of hits\n  Use bool \u0027filter\u0027 queries instead of \u0027match\u0027\n  Replace camelCase format name dateOptionalTime\n  Return cardinality from predicate when available\n  Update testcontainers to 1.17.5\n  Update testcontainers to 1.16.3\n  Elasticsearch tests: Recreate container for each test suite\n  Paginate no-limit queries\n  Introduce a SEARCH_AFTER index pagination type\n  Remove support for vulnerable ES versions\n  Add 7.16.* to supported versions\n  tests: Print container logs of startup failure\n  Use official elasticsearch docker image for tests\n  Add 7.10.* to supported versions\n  Use errors output field to determine _bulk API failure\n  elasticsearch-rest-client: Update to latest 8.3.2\n  docs: Split README content into more files\n  ...\n\nRelease-Notes: skip\nChange-Id: I8361cdc33f7331b8c106d9817061d55050373b1a\n"
    },
    {
      "commit": "0dcec673dd1a82af756ea944e9cd102113223b25",
      "tree": "0308c73136c88a9fc8e7ebc86a1d222d7c86845f",
      "parents": [
        "80a81253528aac095962f34580e528f0af6c4f46",
        "606d4868d6150069abfa78fe873302ee6c684d91"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Feb 16 10:48:36 2023 -0800"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Feb 16 10:48:36 2023 -0800"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6:\n  Add an analyzer with tokenizer:keyword to prefix fields\n\nRelease-Notes: skip\nChange-Id: Ifc5134e37e11647a65cfa2a1defc866c15ccf6da\n"
    },
    {
      "commit": "606d4868d6150069abfa78fe873302ee6c684d91",
      "tree": "71ba36bc6b31365ec143a396a1606e38edd81a27",
      "parents": [
        "324c9b939071d39539bf15722855978e753c06c0"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Wed Feb 15 12:48:47 2023 -0800"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Wed Feb 15 15:17:56 2023 -0800"
      },
      "message": "Add an analyzer with tokenizer:keyword to prefix fields\n\nDefault Elasticsearch analyzer drops square brackets when\nperforming a query. A keyword tokenizer[1] outputs the\nexact same text for queries without dropping any characters.\nAlso, a keyword tokenizer creates a single term for the given\ntext which makes \u0027match_phrase_prefix\u0027[2] searches work as\nintended by Gerrit.\n\nFor example, consider change C1 with hashtag \u0027[area] subsystem\u0027\nand change C2 with \u0027area subsystem\u0027. A Gerrit query [3] returns\nC1 with Lucene and C1,C2 with Elasticsearch (without this change).\n\nThis helps match Elasticsearch\u0027s behaviour of \u0027prefixhashtag\u0027\nand \u0027prefixtopic\u0027 operators with that of Lucene.\n\n[1] https://www.elastic.co/guide/en/elasticsearch/reference/7.17/analysis-keyword-tokenizer.html\n[2] https://www.elastic.co/guide/en/elasticsearch/reference/7.17/query-dsl-match-query-phrase-prefix.html\n[3] prefixhashtag:\"[area]\"\n\nChange-Id: Icf62611af9e8323f98d4cb21d619bf5bc3d73177\n"
    },
    {
      "commit": "80a81253528aac095962f34580e528f0af6c4f46",
      "tree": "41a826ff961877704a98d6d44a76ae0d8993408a",
      "parents": [
        "c94f2c5e92516f50a2ff2294263808366e8b88bb",
        "324c9b939071d39539bf15722855978e753c06c0"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Feb 03 16:06:21 2023 -0800"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Feb 07 13:54:14 2023 -0800"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6: (23 commits)\n  Prune _source to only contain stored fields\n  Introduce \u0027elasticsearch.codec\u0027 config\n  Disable tracking total number of hits\n  Use bool \u0027filter\u0027 queries instead of \u0027match\u0027\n  Replace camelCase format name dateOptionalTime\n  Return cardinality from predicate when available\n  Update testcontainers to 1.17.5\n  Update testcontainers to 1.16.3\n  Elasticsearch tests: Recreate container for each test suite\n  Paginate no-limit queries\n  Introduce a SEARCH_AFTER index pagination type\n  Remove support for vulnerable ES versions\n  Add 7.16.* to supported versions\n  tests: Print container logs of startup failure\n  Use official elasticsearch docker image for tests\n  Add 7.10.* to supported versions\n  Use errors output field to determine _bulk API failure\n  elasticsearch-rest-client: Update to latest 8.3.2\n  docs: Split README content into more files\n  Do not wait for refresh when AutoFlush.DISABLED\n  ...\n\nRelease-Notes: skip\nChange-Id: I9e52753f1edf4557ed7b8dc68123e2368bd475ef\n"
    },
    {
      "commit": "324c9b939071d39539bf15722855978e753c06c0",
      "tree": "fed2b409752a6641e869ad53dcb8eb1474cf180f",
      "parents": [
        "572a92cd304642ff3bf22737ba48dc992b165cbe",
        "528ba6e135d9e280887337c412b1cb02fe562504"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Feb 02 18:19:59 2023 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Feb 03 16:02:39 2023 -0800"
      },
      "message": "Merge branch \u0027stable-3.5\u0027 into stable-3.6\n\n* stable-3.5: (23 commits)\n  Prune _source to only contain stored fields\n  Introduce \u0027elasticsearch.codec\u0027 config\n  Disable tracking total number of hits\n  Use bool \u0027filter\u0027 queries instead of \u0027match\u0027\n  Replace camelCase format name dateOptionalTime\n  Return cardinality from predicate when available\n  Update testcontainers to 1.17.5\n  Update testcontainers to 1.16.3\n  Elasticsearch tests: Recreate container for each test suite\n  Paginate no-limit queries\n  Introduce a SEARCH_AFTER index pagination type\n  Remove support for vulnerable ES versions\n  Add 7.16.* to supported versions\n  tests: Print container logs of startup failure\n  Use official elasticsearch docker image for tests\n  Add 7.10.* to supported versions\n  Use errors output field to determine _bulk API failure\n  elasticsearch-rest-client: Update to latest 8.3.2\n  docs: Split README content into more files\n  Do not wait for refresh when AutoFlush.DISABLED\n  ...\n\nRelease-Notes: skip\nChange-Id: I71cc9b49874c408e84e448586f1a49168dc60f72\n"
    },
    {
      "commit": "528ba6e135d9e280887337c412b1cb02fe562504",
      "tree": "2900a27d58ca8241475ecd9d45dea3ea9e7394d8",
      "parents": [
        "da5017c056c1f36f2f1206265a54388cac238391"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Jan 24 15:28:56 2023 -0800"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Jan 31 05:02:23 2023 +0000"
      },
      "message": "Prune _source to only contain stored fields\n\nGerrit queries fetch only stored fields from _source. So, pruning\ncontents of _source to only contain those fields will help reduce\nindex sizes. Although doing this introduces some limitations as\ndescribed in [1], they don\u0027t apply for Gerrit uses-cases as we can\nalways recreate the indices from notedb.\n\nOn a Gerrit instance with ~4M changes, this change brings down the\nsize of changes index from ~40G to ~25G.\n\n[1] https://www.elastic.co/guide/en/elasticsearch/reference/7.17/mapping-source-field.html#include-exclude\n\nChange-Id: Iffab01a1c0121f9f99ae0f3d10bc40842deb0598\n"
    },
    {
      "commit": "da5017c056c1f36f2f1206265a54388cac238391",
      "tree": "4a660c0295dfe180d9bd81ae6bbfea108a793393",
      "parents": [
        "5bc1646bff68b1e40b90c1f558868dceeec155b4"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Jan 19 14:47:14 2023 -0800"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Jan 24 15:49:42 2023 -0800"
      },
      "message": "Introduce \u0027elasticsearch.codec\u0027 config\n\nA new config \u0027elasticsearch.codec\u0027 is added which allows us to\nset the codec during index creation time. It defaults to \u0027default\u0027.\nBased on Elasticsearch docs[1], the default codec offers the best\nperformance.\n\n[1] https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html#_static_index_settings\n\nChange-Id: I1861218d3498ee7cebca1084636a35c815b1c0e6\n"
    },
    {
      "commit": "5bc1646bff68b1e40b90c1f558868dceeec155b4",
      "tree": "ea6df452dc959c902d452a9fd373011af2768e14",
      "parents": [
        "825efa57e8a914605e0ff131e94635968d3b370b",
        "86c95e0ca852386a351806e4c611c195833dd82a"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Jan 12 23:09:46 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 12 23:09:46 2023 +0000"
      },
      "message": "Merge \"Update testcontainers to 1.17.5\" into stable-3.5"
    },
    {
      "commit": "825efa57e8a914605e0ff131e94635968d3b370b",
      "tree": "75a7eefec25bf5b3a8bb2efa4323d33f03467358",
      "parents": [
        "be191d704d495926b30952e7cd7d935a54e1470a"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Jan 03 11:28:02 2023 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Jan 03 11:28:02 2023 -0700"
      },
      "message": "Disable tracking total number of hits\n\nGerrit queries don\u0027t need to track total number of hits and\nES recommends[1] we set track_total_hits to false to improve\nquery performance.\n\n[1] https://www.elastic.co/guide/en/elasticsearch/reference/7.16/search-your-data.html#track-total-hits\n\nChange-Id: I93940898421e8c48d5eec59d4dfbfb8386166048\n"
    },
    {
      "commit": "be191d704d495926b30952e7cd7d935a54e1470a",
      "tree": "c841af4ca40aaa90192f0d759dd1fb965b5aa9d9",
      "parents": [
        "c342a90fdd9917c67b1ba49ded0446775f575b6f"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Dec 21 15:52:05 2022 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Dec 22 10:44:54 2022 -0700"
      },
      "message": "Use bool \u0027filter\u0027 queries instead of \u0027match\u0027\n\nWe don\u0027t use the scoring done by \u0027match\u0027 so it\u0027s recommended by ES to\nuse \u0027filter\u0027 when you want a \u0027yes/no\u0027 answer.\n\nChange-Id: I4a5a66f4fcd0e536088ac84b280ec82ceab5a10e\n"
    },
    {
      "commit": "c342a90fdd9917c67b1ba49ded0446775f575b6f",
      "tree": "47d32c41b7fefdab51b3d6fb1eda82a08e6ec27a",
      "parents": [
        "9024139c49b5c73df2818805da3146952bf0c74e"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Nov 03 10:22:58 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Nov 03 10:22:58 2022 -0600"
      },
      "message": "Replace camelCase format name dateOptionalTime\n\nThis format is deprecated and the snake case name date_optional_time\nshould be used instead. This mapping is already done on the server side\nbut trying to use the camelCase format produces a deprecation warning\nas it\u0027s not allowed in ES 8+.\n\nChange-Id: I6d6ba93e44d90f058a3c42857c7a082dd9e72d26\nRelease-Notes: skip\n"
    },
    {
      "commit": "9024139c49b5c73df2818805da3146952bf0c74e",
      "tree": "21ad9f75deb6ffb98cd61b8d50b9c1f12c73efdd",
      "parents": [
        "dbde296fa7752c414384a4b9c98560515e84954f"
      ],
      "author": {
        "name": "Prudhvi Akhil Alahari",
        "email": "prudhvi.alahari@linaro.org",
        "time": "Wed Nov 02 23:27:01 2022 +0530"
      },
      "committer": {
        "name": "Prudhvi Akhil Alahari",
        "email": "prudhvi.alahari@linaro.org",
        "time": "Wed Nov 02 23:54:02 2022 +0530"
      },
      "message": "Return cardinality from predicate when available\n\nReturn cardinality from predicate when it implements HasCardinality.\n\nRelease-Notes: skip\nChange-Id: I5a578f9a80c5e44c1b1fd318c5c97fec4d5a58b0\n"
    },
    {
      "commit": "86c95e0ca852386a351806e4c611c195833dd82a",
      "tree": "b61fb29c241896336c336e85b33ded9629b2f619",
      "parents": [
        "dbde296fa7752c414384a4b9c98560515e84954f"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Oct 05 22:29:53 2022 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Oct 05 22:30:35 2022 -0700"
      },
      "message": "Update testcontainers to 1.17.5\n\nSeveral bug fixes and other improvements.\n\nhttps: //github.com/testcontainers/testcontainers-java/releases/tag/1.17.5\nhttps: //github.com/testcontainers/testcontainers-java/releases/tag/1.17.4\nhttps: //github.com/testcontainers/testcontainers-java/releases/tag/1.17.3\nhttps: //github.com/testcontainers/testcontainers-java/releases/tag/1.17.2\nhttps: //github.com/testcontainers/testcontainers-java/releases/tag/1.17.1\nhttps: //github.com/testcontainers/testcontainers-java/releases/tag/1.17.0\n\nChange-Id: I2d46ede9049b7bf1555a453b60c92d31f2138a61\n"
    },
    {
      "commit": "dbde296fa7752c414384a4b9c98560515e84954f",
      "tree": "aa35f840ecb8a08b7222a1a9cee82978c991c7d8",
      "parents": [
        "13ee6cab2ca3b1bef16e3176bfca2c23f10a30d6"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Oct 05 19:36:57 2022 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Oct 05 21:21:04 2022 -0700"
      },
      "message": "Update testcontainers to 1.16.3\n\nSeveral bug fixes and other improvements.\n\nAlso remove unused dependencies and reorder the external_plugin_deps\nbased on what depends on what.\n\nhttps: //github.com/testcontainers/testcontainers-java/releases/tag/1.16.3\nhttps: //github.com/testcontainers/testcontainers-java/releases/tag/1.16.2\nhttps: //github.com/testcontainers/testcontainers-java/releases/tag/1.16.1\nhttps: //github.com/testcontainers/testcontainers-java/releases/tag/1.16.0\n\nChange-Id: I044b89db2cacb7596cd86ef45356601adb30cfe1\n"
    },
    {
      "commit": "13ee6cab2ca3b1bef16e3176bfca2c23f10a30d6",
      "tree": "7b7b698613b256911d98fa80d25c3536e06b7c0f",
      "parents": [
        "fd7e9ba4d1f8790457fb5b631ff212ccd9357ffe"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Mon Oct 03 12:27:55 2022 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Oct 04 16:20:23 2022 -0700"
      },
      "message": "Elasticsearch tests: Recreate container for each test suite\n\nSince Change If3f8d914d5f there are multiple index configs executed in\ndifferent config suites in the tests and that means the ElasticContainer\nwill be stopped after each suite completes. Handle that by always\nrecreating the container at the start of a suite.\n\nRelease-Notes: skip\nBug: Issue 16300\nChange-Id: I39926a3dc65a2313fbcfc566f6b2b72238c6fff6\n"
    },
    {
      "commit": "fd7e9ba4d1f8790457fb5b631ff212ccd9357ffe",
      "tree": "ff02f1465ef23a9a80884a36e495b79dc020c58d",
      "parents": [
        "d85e0c18f48982685da3373f1ec8aa8679055c8c",
        "2d05f8d1dd72c778382087c95d845ac21b53d312"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Sep 13 16:25:09 2022 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Sep 15 09:32:56 2022 -0700"
      },
      "message": "Merge pagination improvements from Gerrit 3.4\n\nThe below changes were cherry-picked from core stable-3.4 onto\nthe rewritten module history where stable-3.4 would have been.\n\n* 3.4:\n  Paginate no-limit queries\n  Introduce a SEARCH_AFTER index pagination type\n\nChange-Id: I11600ad4c11c2c546a23058b1606056d76825cd7\n"
    },
    {
      "commit": "2d05f8d1dd72c778382087c95d845ac21b53d312",
      "tree": "ba4e31fee50c808543a237beac6cd9f9be477064",
      "parents": [
        "ef650465a87f452b01546ff3423062c51ed936e9"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Mon Sep 12 10:05:46 2022 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Sep 13 16:19:25 2022 -0700"
      },
      "message": "Paginate no-limit queries\n\nCurrently, no-limit queries do a single index search with a rather\nlarge limit (around the size of change index). For Elasticsearch\nindex backend, this can be problematic as Elasticsearch\u0027s REST\nclient will fail with an error like [1] if too many changes have\nto be returned. The REST client has a default limit of 100MB for\ncontent it can process. This effectively implies that no-limit\nqueries with ES index backend are likely non-functional for most\nsites as the 100MB limit is reached by as low as ~50k changes.\n\nChanging this default limit is not recommended as it can overload\nES data nodes and the client as well. Instead, this change updates\nno-limit queries to paginate rather than doing a single index search\nwith a large limit. It is recommended to set an appropriate value\nfor \u0027index.maxPageSize\u0027 to avoid the error [1] especially when\n\u0027index.pageSizeMultiplier\u0027 is set to value greater than 1.\n\nHere are some stats with a Lucene based site and ~20k docs in open\nchanges index and ~4M in closed changes index (with ~1M abandoned\nand ~3M merged).\n\n                               status:open     staus:abandoned\n                               no-limit        no-limit\n\nwithout this change            7.6s            436s\n\nwith change\npaginationType\u003dOFFSET          7.9s            2622s\npageSizeMultiplier\u003d1\n\nwith change\npaginationType\u003dSEARCH_AFTER    7.8s            480s\npageSizeMultiplier\u003d1\n\nwith change\npaginationType\u003dOFFSET          7.4s            417s\npageSizeMultiplier\u003d10\n\nwith change\npaginationType\u003dSEARCH_AFTER    7.7s            418s\npageSizeMultiplier\u003d10\n\nIf \u0027index.pageSizeMultiplier\u0027 is set to 1 (default), we update it to\n10 for no-limit queries as it helps improve performance and also\nprevents no-limit queries from severely degrading when pagination type\nis OFFSET.\n\n[1] entity content is too long [..] for the configured buffer limit [104857600]\n\nRelease-Notes: no-limit queries are now usable with Elasticsearch index backend\nChange-Id: Ifb1f6f5411140c430f2520fb252e688b67d5333c\n"
    },
    {
      "commit": "ef650465a87f452b01546ff3423062c51ed936e9",
      "tree": "aeb40d9b537286382ee6395ef41e7a579db3a512",
      "parents": [
        "19f7e67c86a8eca1dcca72c76ab7076451dd649c"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Wed Aug 17 13:57:27 2022 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Sep 13 16:18:13 2022 -0700"
      },
      "message": "Introduce a SEARCH_AFTER index pagination type\n\nCurrent Paginated interface only allows to restart a query from\na given offset. Update it to also allow restarting queries using\na searchAfter key. searchAfter can help with performance of queries\nsuch as [1] where the visibility is being queried for an account\nthat cannot see most/all changes. [1] finishes in ~45 mins with\nOFFSET and ~10 mins with SEARCH_AFTER when the site has around\n1M abandoned changes.\n\nIndex config has been updated to add a paginationType entry with\nOFFSET and SEARCH_AFTER as supported values. The default is set\nto OFFSET to keep the current pagination type unchanged.\n\nGerrit\u0027s Lucene index implementation has been updated to support\nthis new pagination type with search-after[2]. Elasticsearch\nindex implementation has also been updated to paginate using\nsearch-after[3] and can be further improved to use PIT[4]. Lucene\nand Elasticsearch tests have been updated to run with both pagination\ntypes. Also, Elasticsearch tests now use the official docker image\nas it can handle running tests with multiple index config suites.\n\nNote that, searchAfter will not impact using offsets in Gerrit\nquery APIs.\n\n[1] gerrit query \u0027status:abandoned visibleto:guest\u0027\n[2] https://lucene.apache.org/core/6_6_5/core/org/apache/lucene/search/IndexSearcher.html#search-org.apache.lucene.search.Query-int-org.apache.lucene.search.Sort-boolean-boolean-\n[3] https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#search-after\n[4] https://www.elastic.co/guide/en/elasticsearch/reference/current/point-in-time-api.html\n\nRelease-Notes: Index searches now support search-after pagination\nChange-Id: If3f8d914d5fd3f350c026cf099f08cf9a13f2195\n"
    },
    {
      "commit": "d85e0c18f48982685da3373f1ec8aa8679055c8c",
      "tree": "374f10a0068982e8a6400c906ebd847e564a71d4",
      "parents": [
        "ac9cb0162d13e808b3c11bd5eae2b981a990fde2"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 22 21:54:19 2021 +0000"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Sep 01 22:03:35 2022 +0000"
      },
      "message": "Remove support for vulnerable ES versions\n\nVulnerable ES versions older than v7.16 are removed[1] as they\ndon\u0027t have fix for the Log4J v2 vulnerability CVE-2021-44228[2].\n\nElasticsearch docker image for tests are unchanged. See the\njustification in I951ce5e6.\n\n[1] https://discuss.elastic.co/t/apache-log4j2-remote-code-execution-rce-vulnerability-cve-2021-44228-esa-2021-31/291476\n[2] https://nvd.nist.gov/vuln/detail/CVE-2021-44228\n\nBug: Issue 15481\nChange-Id: I5bfb8971efea1be787de52addec5cab37d38133f\n"
    },
    {
      "commit": "ac9cb0162d13e808b3c11bd5eae2b981a990fde2",
      "tree": "0c844394675706f3ddb53ce237894b8f104d0957",
      "parents": [
        "8792745bf453cefa80bffbe82d9d9ed9277ba1a2",
        "0117ee7dfb048f3ad2df07fb695a215e548213c4"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Tue Jul 26 17:12:35 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 26 17:12:35 2022 +0000"
      },
      "message": "Merge \"tests: Print container logs of startup failure\" into stable-3.5"
    },
    {
      "commit": "8792745bf453cefa80bffbe82d9d9ed9277ba1a2",
      "tree": "5377a5995b2f41999971a2e0b30bc9006bc4eaa3",
      "parents": [
        "168dafb3b30eeb59deb07b3e748445a6bf92bda5"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Jul 21 13:38:57 2022 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Mon Jul 25 19:48:20 2022 +0000"
      },
      "message": "Add 7.16.* to supported versions\n\nAlso, run tests with 7.16.2\n\nNote that, elasticsearch source code is no longer Apache 2.0-licensed\nfor versions 7.11+. See https://www.elastic.co/pricing/faq/licensing\nfor more information.\n\nChange-Id: I19c31863e0c5ee9dae1c9d31647f032f745aa2ff\n"
    },
    {
      "commit": "0117ee7dfb048f3ad2df07fb695a215e548213c4",
      "tree": "0222097ec043d08ad12f276d0c1df30cba94bb33",
      "parents": [
        "9f4a6d16ca0b1ccb501c16a7c51bddb94a8a0a9e"
      ],
      "author": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Wed Jul 20 14:46:15 2022 -0700"
      },
      "committer": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Mon Jul 25 11:30:55 2022 -0700"
      },
      "message": "tests: Print container logs of startup failure\n\nThis helps to better debug the root cause on failure.\n\nChange-Id: I69d8f1c32ef12a999b4ddd8c3424505d791b30a6\n"
    },
    {
      "commit": "168dafb3b30eeb59deb07b3e748445a6bf92bda5",
      "tree": "20a87c0bbb45bfe70e3f274827c6644a5fb1d3b8",
      "parents": [
        "0d14ee781ef4dc44bf37f057d5a3836c10865247"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Fri Jul 22 13:22:45 2022 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Mon Jul 25 17:59:05 2022 +0000"
      },
      "message": "Use official elasticsearch docker image for tests\n\nThis is a switch from elasticsearch-oss image to the full image.\nElasticSearch\u0027s point in time feature will be introduced in a\nfollow-up change (I8baa6e07) and is not available in the oss\nimage used in blacktop/elasticsearch* images. Hence the need\nfor switch. Although the tests are only run against the latest\nversion (7.10), we switch the older versions as well to the\nfull image to be consistent. When running tests with the full\nimage we will likely run into OOM issues on the docker hosts.\nTo help mitigate that, run the tests sequentially.\n\nChange-Id: I951ce5e630a528f87ff3946647d96fe136702043\n"
    },
    {
      "commit": "0d14ee781ef4dc44bf37f057d5a3836c10865247",
      "tree": "748f5dbd5bf3c22e06dbfb3a06a1a6dc20be0c05",
      "parents": [
        "9f4a6d16ca0b1ccb501c16a7c51bddb94a8a0a9e"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Tue Jul 19 15:51:49 2022 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushik.lingarkar@linaro.org",
        "time": "Thu Jul 21 10:06:14 2022 -0700"
      },
      "message": "Add 7.10.* to supported versions\n\nAlso, update tests to run with 7.10.0\n\nChange-Id: I0bcc728835fec63212fff271710da690a6df5c28\n"
    },
    {
      "commit": "9f4a6d16ca0b1ccb501c16a7c51bddb94a8a0a9e",
      "tree": "b7053baac73369d48ae4654e65ebd0faf652e82d",
      "parents": [
        "933c3ffd8249edcc908b2a47a27bafb299189493",
        "880902c1c1c96784dbb4caa9bac11dc7b6c38eca"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Jul 19 14:58:38 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 19 14:58:38 2022 +0000"
      },
      "message": "Merge \"Use errors output field to determine _bulk API failure\" into stable-3.5"
    },
    {
      "commit": "880902c1c1c96784dbb4caa9bac11dc7b6c38eca",
      "tree": "d32a09bc8e3ccd27a63d477575d0f7cce6d0060f",
      "parents": [
        "4f375d530bac60c9b2c14e37521f59d7f9a4ab2b"
      ],
      "author": {
        "name": "Prudhvi Akhil Alahari",
        "email": "prudhvi.alahari@linaro.org",
        "time": "Mon Jun 27 17:22:28 2022 +0530"
      },
      "committer": {
        "name": "Prudhvi Akhil Alahari",
        "email": "prudhvi.alahari@linaro.org",
        "time": "Mon Jul 18 11:35:23 2022 +0530"
      },
      "message": "Use errors output field to determine _bulk API failure\n\nElastic search _bulk API\u0027s response HTTP status code 200 does not imply\nthat the request was successful. Instead, depend on \u0027errors\u0027 boolean\nfrom response body [1]. Also add tests to illustrate this behaviour.\n\n[1] https://www.elastic.co/guide/en/elasticsearch/reference/7.8/docs-bulk.html#bulk-api-response-body\n\nChange-Id: I6b76398d64efc15803b9a1b30e4d88ae4b1bdb2a\n"
    },
    {
      "commit": "933c3ffd8249edcc908b2a47a27bafb299189493",
      "tree": "4112814a036f5ad11f66683e6bae4f37c6fa3b62",
      "parents": [
        "3a416fc9896f62b9598cbbca051951166dba3bf3"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Jul 07 10:28:53 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Jul 15 12:39:40 2022 -0600"
      },
      "message": "elasticsearch-rest-client: Update to latest 8.3.2\n\nThe ES low-level Java REST client (abbreviated as LLRC by ES dev team)\ncontinues to be licensed as Apache v2 and is compatible with all ES versions\n[1].\n\n$ git log --oneline ^v7.8.1 v8.3.2 -- client/rest/src/main/\n02bcbe38424 Do not retry client requests when failing with ContentTooLargeException (#87248) (#87256)\nd5e9bb34d01 Fix for exception self-suppression in Rest client (#83568)\n8ab0d40cb55 Fix version resolution and encoding in LLRC (#81989)\nf0bc3856e14 LLRC: expose http client and allow overriding meta header (#81955)\n5b49982309d Formatting escape hatch (#81806)\n12ad399c488 Reformat Elasticsearch source\n88250c216c1 Exposing the ability to log deprecated settings at non-critical level (#79107)\nfe1fc5f7d3d Add support for rest compatibility headers to the HLRC (#78490)\ne55edf937ab Fix shadowed variables in various places - part 1 (#77555)\nd01efa4fd63 Changes to keep Checkstyle happy after reformatting (#76464)\nc06608d4e67 Verify that main info response returns correct product headers (#73910)\ne5518e07f13 Fix Suppressing Interrupted Flag in Client (#68999)\n63e9378dc83 LLRC - support new data roles (#66947)\n71c0821ffc4 Keep low level rest client under Apache 2 software license (#68694)\na92a647b9f1 Update sources with new SSPL+Elastic-2.0 license headers\n937c1c73f92 Added support for passing http query parameters (#67802)\n1dcacfeabf7 [client] Add client metadata header on RestClient requests (#66303)\nad1f876daa7 Replace NOT operator with explicit `false` check (#67817)\n4f29e3e1bad [client] Fix decompressed response headers (#63419)\n67be92c7238 [client] Add simple support for gzip compression (#63230)\n1259a46cbe8 Drop assertion that rest client header warnings conform to RFC 7234 (#61365)\n648ac53ac5f [client] Handle non-default port in Cloud-Id (#61581)\ne49e7220e72 Revert \"Avoid StackOverflowError due to regex alternate paths  (#61259)\" (#61363)\nbf8b7de05fc Avoid StackOverflowError due to regex alternate paths  (#61259)\n974f6e66b69 LLRC RequestOptions add RequestConfig (#57972)\n4542dfc107b LLRC RestClient add isRunning method (#57973)\n2621452473e Enable decompression of response within LowLevelRestClient (#55413)\n89b0aad7bd8 Fix roles parsing in client nodes sniffer (#52888)\na6a3d2b8bab Improve warning value extraction performance in Response (#50208)\n261b582697e Validate proxy base path at parse time (#47912)\n0fb02aa6c4e Add cloudId builder to the HLRC (#47868)\n4baab594aa3 Add support for cancelling async requests in low-level REST client (#45379)\ne5805c961e3 Use the full hash in build info (#45163)\ne586a218133 Remove SecurityClient from x-pack (#42471)\n35b6239a8d4 Refactor HLRC RequestConverters parameters to be more explicit (#42128)\nee51702e780 Adapt low-level REST client to java 8 (#41537)\n\n[1] https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/8.3/java-rest-low-usage-maven.html\n\nChange-Id: Ib9ad9e9f2a19ca57fdfa70ed05fd099cc1827d4c\n"
    },
    {
      "commit": "3a416fc9896f62b9598cbbca051951166dba3bf3",
      "tree": "b137a9e882b00f9bf538af595cb28afb020ad5dc",
      "parents": [
        "4f375d530bac60c9b2c14e37521f59d7f9a4ab2b"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Jul 15 12:30:14 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Jul 15 12:30:14 2022 -0600"
      },
      "message": "docs: Split README content into more files\n\nMany Gerrit plugin admins/devs expect to find most docs in\nsrc/main/resources/Documentation/ but we also want to have a useful\ntop-level README. Support both cases by moving some README content into\nindividual Documentation/ files and linking to it from the README and\nother Documentation/ files.\n\nAlso fix typos in several of the docs.\n\nChange-Id: I8b218d06758dbd19d04bce0c7a6d4ea4cbd6bc89\n"
    },
    {
      "commit": "4f375d530bac60c9b2c14e37521f59d7f9a4ab2b",
      "tree": "d82675ea94dda1d975eeff669e6a7ff091508be4",
      "parents": [
        "2b69a8ffc37f624b9360899739d087b9a5cbad78"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Jun 30 17:17:41 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Jul 12 18:09:45 2022 +0200"
      },
      "message": "Do not wait for refresh when AutoFlush.DISABLED\n\nWe can roughly map Lucene\u0027s \"flush\" concept to the Elasticsearch\n\"refresh\" concept. Previously this module would ignore the value\nof AutoFlush, but now we use it to set the value of the refresh\nparameter in write API requests to match the boolean value of\nAutoFlush (ENABLED\u003dtrue, DISABLED\u003dfalse).\n\nChange-Id: I719ab0d39fe58188f5361bbcf9b282b42cc2cfaf\n"
    },
    {
      "commit": "2b69a8ffc37f624b9360899739d087b9a5cbad78",
      "tree": "6756a7009e126f1a7a0435b56c49651f4c3706d5",
      "parents": [
        "31d90dd495aba7b5cb95b0f4a5ba49a213c16d4e"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Jul 04 08:26:31 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Jul 12 16:31:45 2022 +0200"
      },
      "message": "Refactor provisioning of refresh parameter\n\nRefresh parameters map is never changing. Move the instantiation to the\nctor and use this instance.\n\nChange-Id: If5ac7ce119b92cbf7571b7f42dc9f773e1f2fffa\n"
    },
    {
      "commit": "31d90dd495aba7b5cb95b0f4a5ba49a213c16d4e",
      "tree": "6cdeff8396521d5d65fb75b10ea443d02037f803",
      "parents": [
        "617d3b51271ff267ebe2e9aea42131411e7b4e85"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Jul 04 07:54:05 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Jul 04 07:54:05 2022 +0200"
      },
      "message": "AbstractElasticIndex: Remove unused postRequest method\n\nChange-Id: Ibbfdc1abe0b70c0e68fa947b4069ef8086106173\n"
    },
    {
      "commit": "c94f2c5e92516f50a2ff2294263808366e8b88bb",
      "tree": "751bfdf9cfb88a2fcb1575d312cb4f8a1c362e16",
      "parents": [
        "2e3c4a047efd054139d0191567e7fa683fc2713b"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Jul 01 08:20:44 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Jul 01 08:21:20 2022 +0200"
      },
      "message": "Adapt to adding support to store protos in indexes\n\nIn Ieadcb3b097 support to store protos in indexes was added in gerrit\ncore. Adapt the code correspondingly. Similarly to Lucene backend, ES\ncurrently doesn\u0027t support storing of protos in index backend.\n\nChange-Id: Ifd91ed4ee5a4a36817a3ccb152dba9fb0e8d2fd6\n"
    },
    {
      "commit": "617d3b51271ff267ebe2e9aea42131411e7b4e85",
      "tree": "969508084e9b3aa2aaf82a0605a9b75eb6f0d332",
      "parents": [
        "3e6de6fcb52ba8cf6820e694c0d0a4a10f1289d2",
        "c0906aa25cb443c203974851c1d395914af26d5b"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Jun 29 23:03:14 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 29 23:03:14 2022 +0000"
      },
      "message": "Merge \"Convert config document from Ascii doc to markdown\" into stable-3.5"
    },
    {
      "commit": "c0906aa25cb443c203974851c1d395914af26d5b",
      "tree": "9aa9c6104262b89072a161f3adea20147f6bb362",
      "parents": [
        "39831de3f503db7a6ecb2972c6786e019ab67973"
      ],
      "author": {
        "name": "Aditya Gupta",
        "email": "aditya.gupta@linaro.org",
        "time": "Wed Jun 08 17:47:10 2022 +0530"
      },
      "committer": {
        "name": "Aditya Gupta",
        "email": "aditya.gupta@linaro.org",
        "time": "Tue Jun 28 20:30:06 2022 +0530"
      },
      "message": "Convert config document from Ascii doc to markdown\n\nChange-Id: I06a7ec86cf4d2dd72453133b70854bebcf126901\n"
    },
    {
      "commit": "2e3c4a047efd054139d0191567e7fa683fc2713b",
      "tree": "e2e12a797f237ec27b082dada5e335cef4ec7e6e",
      "parents": [
        "39831de3f503db7a6ecb2972c6786e019ab67973",
        "572a92cd304642ff3bf22737ba48dc992b165cbe"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Jun 21 13:36:24 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Jun 21 13:40:56 2022 +0200"
      },
      "message": "Merge branch \u0027stable-3.6\u0027\n\n* stable-3.6:\n  Remove dependency on //java/com/google/gerrit/proto\n  Restore dockerized integration tests\n  Adapt Bazel build and deps to latest stable-3.5\n  Adapt to the latest Index interface in stable-3.5\n\nAlso adapt account and change index implementation to removal of support\nfor legacy numeric type done in: I6a040f55cc.\n\nChange-Id: I360f99595aec8430de593318eff5c403fe5a9040\n"
    },
    {
      "commit": "572a92cd304642ff3bf22737ba48dc992b165cbe",
      "tree": "f72fbda724b9e7f1981e685b81186a5260434607",
      "parents": [
        "39831de3f503db7a6ecb2972c6786e019ab67973",
        "3e6de6fcb52ba8cf6820e694c0d0a4a10f1289d2"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed May 18 08:03:35 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Jun 21 10:21:27 2022 +0200"
      },
      "message": "Merge branch \u0027stable-3.5\u0027 into stable-3.6\n\n* stable-3.5:\n  Remove dependency on //java/com/google/gerrit/proto\n  Restore dockerized integration tests\n  Adapt Bazel build and deps to latest stable-3.5\n  Adapt to the latest Index interface in stable-3.5\n\nSince Ia64a599440 TimestampRangePredicate is migrated to use Instant\ninstead of obsolete Date class. Adapt the ElasticQueryBuilder for this\nmigration.\n\nElasticV7QueryChangesTest overrides byTopic() method to adjust to ES\nbehaviour for \"prefixtopic\" predicate. \"prefixtopic\" predicate was added\nin release 3.6 and that\u0027s why this is done in the merge commit.\n\nChange-Id: Ie7c4ba0d3ddb4c50a79f51bb328fbaefc15df7ed\n"
    },
    {
      "commit": "3e6de6fcb52ba8cf6820e694c0d0a4a10f1289d2",
      "tree": "c3e59232a3e9eb3c109317e6c60181340ff16c73",
      "parents": [
        "53a86ea9c43eb4b304e555e837a97627ad9548ee"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon May 16 14:24:20 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon May 16 14:27:38 2022 +0200"
      },
      "message": "Remove dependency on //java/com/google/gerrit/proto\n\nIn I9926fdce6d //java/com/google/gerrit/proto was exposed in the plugin\nAPI so that this lib module doesn\u0027t need to depend on it any more. This\nremoves 1MB of size from the final module artifact, as protobuf library\nis now also omitted from the shaded module jar file.\n\nChange-Id: I217feca153e3900cc04831689faca0ce7f0fa237\n"
    },
    {
      "commit": "53a86ea9c43eb4b304e555e837a97627ad9548ee",
      "tree": "7104e1ee7dd958ebd9a4617361d1f87e9775c0a7",
      "parents": [
        "1f041537bc66f1102ae46395e10fd445b4b5d803"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sat May 14 13:39:47 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon May 16 13:49:38 2022 +0200"
      },
      "message": "Restore dockerized integration tests\n\nIn Ib7b5167ce2 was extracted as index lib module. The dockerized tests\nwere removed during extraction, as those tests require more work. This\nchange adds the tests and adapts the build toolchain to support running\nthem.\n\nAlso implement index-elasticsearch__plugin_test_deps build rule and\ndocument how to import this lib module in eclipse IDE.\n\nChange-Id: Ieb5f8aeb22780bf9d013775613147f85670aff3f\n"
    },
    {
      "commit": "1f041537bc66f1102ae46395e10fd445b4b5d803",
      "tree": "b0694bcabf00734be5cde7fddfe00b7b81e7c2ed",
      "parents": [
        "db42aed7078def8553fd2071409edaae5abc1a86"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri May 13 18:35:25 2022 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat May 14 15:42:13 2022 +0000"
      },
      "message": "Adapt Bazel build and deps to latest stable-3.5\n\nThe latest stable-3.5 has removed all the leftover\nof dependencies from testcontainer and docker-java which\nneeds to be part of this plugin instead.\n\nAlso fix formatting of build files with buildifier.\n\nChange-Id: Ic795dd62c1d382ec4e451e4f0ffc3d2365f3a074\n"
    },
    {
      "commit": "db42aed7078def8553fd2071409edaae5abc1a86",
      "tree": "3d387d63b16e150c5d291634f4ae113981777724",
      "parents": [
        "39831de3f503db7a6ecb2972c6786e019ab67973"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri May 13 18:02:48 2022 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri May 13 18:04:59 2022 +0100"
      },
      "message": "Adapt to the latest Index interface in stable-3.5\n\nChange I140c88125b has introduced an additional insert() method\nfor optimising the off-line reindex for Lucene.\n\nMap the insert() method with replace() which would produce the\nsame effect of creating a index entry.\n\nChange-Id: I6f2e6c45bf2cf68ebd7d8dc3fa19083c59bced83\n"
    },
    {
      "commit": "39831de3f503db7a6ecb2972c6786e019ab67973",
      "tree": "ab0dabbb1e97e1c187aaaf082224df0c969086eb",
      "parents": [
        "19ffb7702cf71ef39eb176f922b09efb5a903991"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri May 13 15:07:02 2022 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri May 13 15:33:58 2022 +0100"
      },
      "message": "Initial implementation extracted from Gerrit stable-3.5\nFiles removed from Gerrit core in Change Ib7b5167ce2\nand added to a separate project, packaged as libModule.\n\nHaving an external libModule allows Gerrit core to be\nindependent from ElasticSearch and, at the same time,\nallow existing users to keep their setup without having\nto migrate their indexes.\n\nOriginal-Author: Alice Kober-Sotzek \u003caliceks@google.com\u003e\nOriginal-Author: Dave Borowitz \u003cdborowitz@google.com\u003e\nOriginal-Author: David Ostrovsky \u003cdavid@ostrovsky.org\u003e\nOriginal-Author: David Pursehouse \u003cdpursehouse@collab.net\u003e\nOriginal-Author: David Pursehouse \u003cdpursehouse@digital.ai\u003e\nOriginal-Author: Dmitrii Filippov \u003cdmfilippov@google.com\u003e\nOriginal-Author: Dyrone Teng \u003cdyroneteng@gmail.com\u003e\nOriginal-Author: Edwin Kempin \u003cekempin@google.com\u003e\nOriginal-Author: Gal Paikin \u003cpaiking@google.com\u003e\nOriginal-Author: Han-Wen Nienhuys \u003chanwen@google.com\u003e\nOriginal-Author: Hugo Arès \u003chugo.ares@ericsson.com\u003e\nOriginal-Author: Jacek Centkowski \u003cjcentkowski@collab.net\u003e\nOriginal-Author: Joerg Zieren \u003czieren@google.com\u003e\nOriginal-Author: Marco Miller \u003cmarco.miller@ericsson.com\u003e\nOriginal-Author: Marija Savtchouk \u003cmariasavtchouk@google.com\u003e\nOriginal-Author: Maxime Guerreiro \u003cmaximeg@google.com\u003e\nOriginal-Author: Paladox \u003cthomasmulhall410@yahoo.com\u003e\nOriginal-Author: Pat Long \u003cpllong@arista.com\u003e\nOriginal-Author: Patrick Hiesel \u003chiesel@google.com\u003e\nOriginal-Author: Sven Selberg \u003csvense@axis.com\u003e\nChange-Id: I25586488ff7044ab4f05e2357cd272e9fb661a69\n"
    },
    {
      "commit": "19ffb7702cf71ef39eb176f922b09efb5a903991",
      "tree": "f6e99654ab52af77aebd0bd39c2424f14251ca49",
      "parents": [
        "64db4d8d47e153f477dec467e1ece876aefa8f39"
      ],
      "author": {
        "name": "Dmitrii Filippov",
        "email": "dmfilippov@google.com",
        "time": "Thu Sep 23 15:42:48 2021 +0200"
      },
      "committer": {
        "name": "Dmitrii Filippov",
        "email": "dmfilippov@google.com",
        "time": "Fri Sep 24 07:57:20 2021 +0000"
      },
      "message": "Turn on error for the EmptyBlockTag bug pattern and fix related problems\n\nChange-Id: Ie29dfc15cb26121d1cebf031058826c6bffaa892\n"
    },
    {
      "commit": "64db4d8d47e153f477dec467e1ece876aefa8f39",
      "tree": "5f3a62c8b8efe3e3740f1580cc9a1b0232bfbb17",
      "parents": [
        "4b3f9c6b62d6a5d235cddc3c83aa72ae629be4e7"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Fri Apr 30 15:49:12 2021 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Thu Jul 15 10:09:33 2021 +0200"
      },
      "message": "Use fake index in integration tests, allow running against lucene/fake indices\n\nThis change wires up the new fake index so that integration tests,\nincluding tests that use pgms can run against it. It adds a new\nsys/env setting so that we can choose which index backend test should\nbe run against. This is inspired by how we handled different NoteDb\nmigration states in tests while the migration was not completed.\n\nBy default, integration tests are now run against the fake index.\n\nWe use reflection in pgms to call the fake index so that we can\nkeep the fake index package\u0027s testonly\u003dtrue flag.\n\nChange-Id: Ic6ebb6587cb8ab0979a0f00d5e3e340d27115c89\n"
    },
    {
      "commit": "4b3f9c6b62d6a5d235cddc3c83aa72ae629be4e7",
      "tree": "44a099a86570a902914d5e8d404e03c0d65b95af",
      "parents": [
        "049179c6e0dc58fd31d953427b5bae855e81b8f7",
        "19f7e67c86a8eca1dcca72c76ab7076451dd649c"
      ],
      "author": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Mon Jun 28 11:31:09 2021 -0400"
      },
      "committer": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Mon Jun 28 11:31:09 2021 -0400"
      },
      "message": "Merge branch \u0027stable-3.4\u0027\n\n* stable-3.4:\n  HostKeyProvider: Set algorithm to rsa for legacy host key\n  Honour {httpd,sshd}.gracefulStopTimeout in gerrit.sh\n  SSH transport: Re-enable weak kex algorithms\n  Elasticsearch: Discontinue EOL version 7.5 support\n\nChange-Id: If0b996cb18b8fa7cc11a6b33d9b3d1fe5cae07bb\n"
    },
    {
      "commit": "19f7e67c86a8eca1dcca72c76ab7076451dd649c",
      "tree": "0ed6812d499fc450bc8be33360e8f4b2a01ab614",
      "parents": [
        "314c0b0ff1cd2a423314ee7b114ecfdec59b02e0",
        "7da4af0b75a898ea8666628a11e875b6bce89edf"
      ],
      "author": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Mon Jun 28 11:30:30 2021 -0400"
      },
      "committer": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Mon Jun 28 11:30:30 2021 -0400"
      },
      "message": "Merge branch \u0027stable-3.3\u0027 into stable-3.4\n\n* stable-3.3:\n  Honour {httpd,sshd}.gracefulStopTimeout in gerrit.sh\n  Elasticsearch: Discontinue EOL version 7.5 support\n\nChange-Id: I44a4bf79a2a7a3854d7fc0cc7c9261a5ab621aa4\n"
    },
    {
      "commit": "7da4af0b75a898ea8666628a11e875b6bce89edf",
      "tree": "ef157e09bb91ebd2fbf5957c9f0007c44dbe6ea2",
      "parents": [
        "7bdf44e9d311dbeb85cea0a873fef21f8abcbb69",
        "8a3e31fc6056e64ad8fa8587d21fc80f9da9201a"
      ],
      "author": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Mon Jun 28 10:33:06 2021 -0400"
      },
      "committer": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Mon Jun 28 10:33:06 2021 -0400"
      },
      "message": "Merge branch \u0027stable-3.2\u0027 into stable-3.3\n\n* stable-3.2:\n  Honour {httpd,sshd}.gracefulStopTimeout in gerrit.sh\n  Elasticsearch: Discontinue EOL version 7.5 support\n\nChange-Id: I9f8ee9c5a764c651e3d5b8e2607d7a5f50cb7216\n"
    },
    {
      "commit": "8a3e31fc6056e64ad8fa8587d21fc80f9da9201a",
      "tree": "ef157e09bb91ebd2fbf5957c9f0007c44dbe6ea2",
      "parents": [
        "5c964389949ef2e1c3f711dcbe7a4cb9eab6af6d"
      ],
      "author": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Tue Jun 22 14:38:15 2021 -0400"
      },
      "committer": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Tue Jun 22 14:38:15 2021 -0400"
      },
      "message": "Elasticsearch: Discontinue EOL version 7.5 support\n\nRemove support for elasticsearch V7_5, as it became EOL since June [1].\n\n[1] https://www.elastic.co/support/eol\n\nChange-Id: I46cc3849a5cf1fad30b007fe09f8d1cdbe4d588b\n"
    }
  ],
  "next": "049179c6e0dc58fd31d953427b5bae855e81b8f7"
}
