)]}'
{
  "log": [
    {
      "commit": "c1cfb507adb47517bbd77d7c14889ab73dec9bea",
      "tree": "6eb9577d5b6898f42a5f9b1432f0b0b0ff20310a",
      "parents": [
        "402c0f63295b9fcae85f3d82ea5a5617e9d8e0b5"
      ],
      "author": {
        "name": "Ajay Gupta",
        "email": "ajagup@qti.qualcomm.com",
        "time": "Fri Oct 31 13:59:27 2025 +0530"
      },
      "committer": {
        "name": "Ajay Gupta",
        "email": "ajagup@qti.qualcomm.com",
        "time": "Wed Nov 05 22:26:50 2025 +0530"
      },
      "message": "Add --subscribe option to event stream command\n\nThis change introduces a new --subscribe (alias -s) option to the event\nstream command, enabling users to filter the real-time event output by\none or more specific event types. The option allows more efficient\nmonitoring and scripting, especially for clients interested in a subset\nof events.\n\nRelease-Notes: Adds support for filtering streamed events by type\nChange-Id: Iafb774a48cb07096c4d48167ee56a6cf02150125\n"
    },
    {
      "commit": "402c0f63295b9fcae85f3d82ea5a5617e9d8e0b5",
      "tree": "b61ab69502b4076246c3d20b87f0a9d4be2aeca1",
      "parents": [
        "dd22e8a9860e61cc08f238916e7f4ebf14a1ce94"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@oss.qualcomm.com",
        "time": "Tue Oct 07 16:49:09 2025 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@oss.qualcomm.com",
        "time": "Tue Oct 07 16:49:09 2025 -0700"
      },
      "message": "Add missing 3.11 updates\n\nBump Bazel version to 7.2.1 and bump bazlets to include:\n    7ed3925 Add `load()` statements for the builtin java rules \u0026 symbols\n\nboth of which match core stable-3.11.\n\nChange-Id: I9b2177bdcb0688eb784399b4102dd79e6c5be4fb\n"
    },
    {
      "commit": "dd22e8a9860e61cc08f238916e7f4ebf14a1ce94",
      "tree": "b392a048656fee12299e11a3d10a4ad95f6f4bc9",
      "parents": [
        "1ca09320b84db7bfdd68c38c052507b90c8da8da"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasserg@qti.qualcomm.com",
        "time": "Wed Aug 13 21:43:48 2025 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasserg@qti.qualcomm.com",
        "time": "Wed Aug 13 21:46:18 2025 -0700"
      },
      "message": "Fix standalone build to use Java 21\n\nGerrit 3.11 plugin artifacts are built with Java 21, so we need to use\nthat version to consume them here.\n\nAlso ensure bzlmod is disabled since Gerrit core isn\u0027t using it yet.\n\nChange-Id: I9e5a1a8fdf1765ecb27feab5b0b32d1fe3ea2c19\n"
    },
    {
      "commit": "1ca09320b84db7bfdd68c38c052507b90c8da8da",
      "tree": "9776f55bad3c1ef23c04be35372601dc9486d544",
      "parents": [
        "263e02f06bd7b28f16721339eb971bcfd4e252bc"
      ],
      "author": {
        "name": "Adithya Chakilam",
        "email": "achakilam@nvidia.com",
        "time": "Wed Jul 02 15:22:17 2025 -0500"
      },
      "committer": {
        "name": "Adithya Chakilam",
        "email": "achakilam@nvidia.com",
        "time": "Thu Jul 03 10:06:05 2025 -0700"
      },
      "message": "Update to 3.11\n\n- Bump test docker gerrit image to 3.11.0\n- Bump bazlets\n- Fix default permissions for docker tests\n- Fix first login redirects\n\nImpact: events plugin build with Gerrit v3.11\nRisk-Scope: events plugin\nChange-Id: Id75c73734695b93fe72d12d332815b75bf79580d\n"
    },
    {
      "commit": "263e02f06bd7b28f16721339eb971bcfd4e252bc",
      "tree": "63c6ab33823b5018fdfb3c2aa3d2758f3ec09d6d",
      "parents": [
        "fc53ee201a93e1488ccfbb95c1a37300706683f0",
        "90c511c92236e336d58946c065fa3152bdb142b9"
      ],
      "author": {
        "name": "Adithya Chakilam",
        "email": "achakilam@nvidia.com",
        "time": "Wed Jul 02 16:47:07 2025 -0500"
      },
      "committer": {
        "name": "Adithya Chakilam",
        "email": "achakilam@nvidia.com",
        "time": "Wed Jul 02 16:47:30 2025 -0500"
      },
      "message": "Merge branch \u0027stable-3.10\u0027\n\n  90c511c Adapt for 3.10\n  f007d82 Merge branch \u0027stable-3.9\u0027 into stable-3.10\n  cf3c348 Merge branch \u0027stable-3.5\u0027 into stable-3.9\n  bf7319f test: Update to latest stable Alpine release (3.19)\n  56378c8 Update to 3.9.1\n\nChange-Id: Ic8573b0172d5f64e06dc9d024f73a2fc271609a4\n"
    },
    {
      "commit": "90c511c92236e336d58946c065fa3152bdb142b9",
      "tree": "63c6ab33823b5018fdfb3c2aa3d2758f3ec09d6d",
      "parents": [
        "f007d821f2ffa226081394530b6730b4133fa1f9"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Feb 06 19:04:47 2024 -0800"
      },
      "committer": {
        "name": "Aman Singh",
        "email": "aman.singh@oss.qualcomm.com",
        "time": "Wed Feb 05 11:24:14 2025 +0530"
      },
      "message": "Adapt for 3.10\n\n- Bump Bazel version to 7.0.0\n- Bump test docker gerrit image to 3.10.0\n\nImpact: events plugin build with Gerrit v3.10\nRisk-Scope: events plugin\nChange-Id: Ib84a8f10218e29f4444fb0217cf22c50fcc00ad2\n"
    },
    {
      "commit": "f007d821f2ffa226081394530b6730b4133fa1f9",
      "tree": "8955517e9c3e4f133f7932b92b6df6db54b519be",
      "parents": [
        "fc53ee201a93e1488ccfbb95c1a37300706683f0",
        "cf3c34827cd98815a75d890f2055b0e0730130a1"
      ],
      "author": {
        "name": "Aman Singh",
        "email": "aman.singh@oss.qualcomm.com",
        "time": "Fri Jan 31 14:44:26 2025 +0530"
      },
      "committer": {
        "name": "Aman Singh",
        "email": "aman.singh@oss.qualcomm.com",
        "time": "Fri Jan 31 16:08:04 2025 +0530"
      },
      "message": "Merge branch \u0027stable-3.9\u0027 into stable-3.10\n\n* stable-3.9:\n  test: Update to latest stable Alpine release (3.19)\n  Update to 3.9.1\n\nChange-Id: I0f9d942241a87e89506ffda3d1b1c1f2510a4a5d\n"
    },
    {
      "commit": "cf3c34827cd98815a75d890f2055b0e0730130a1",
      "tree": "669d2efc55c9e3de64cb851805702b0c9e6979e8",
      "parents": [
        "56378c8df6380b737a9df45f4995ecb0e5d43db7",
        "bf7319ff09c2c335d0a75d7ff2df07ac642cc945"
      ],
      "author": {
        "name": "Prakash Aswal",
        "email": "prakash.aswal@linaro.org",
        "time": "Fri May 31 12:05:22 2024 +0530"
      },
      "committer": {
        "name": "Prakash Aswal",
        "email": "prakash.aswal@linaro.org",
        "time": "Fri May 31 12:07:57 2024 +0530"
      },
      "message": "Merge branch \u0027stable-3.5\u0027 into stable-3.9\n\n* stable-3.5:\n  test: Update to latest stable Alpine release (3.19)\n\nChange-Id: I6bbbf5b1ee7dc71331a0fe063216aeedb2b6a112\n"
    },
    {
      "commit": "bf7319ff09c2c335d0a75d7ff2df07ac642cc945",
      "tree": "5f1d303b4f31d855e160f160c996a742fa928fc2",
      "parents": [
        "31a72aeab20d13db5260bc56b54770ab1cb6e4aa"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Feb 16 16:14:54 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Fri Feb 16 16:14:54 2024 -0800"
      },
      "message": "test: Update to latest stable Alpine release (3.19)\n\nAlpine 3.11 has been EOL since 2021-11-01 and there\u0027s no\nincompatibilities with the 3.19 version. The only fix needed is to use\nthe latest stable Gerrit 3.5 release in order to pick up some SSHD\nfixes.\n\nChange-Id: I4212a714af2c5ac5556d479139bf2097d9f0952b\n"
    },
    {
      "commit": "56378c8df6380b737a9df45f4995ecb0e5d43db7",
      "tree": "db905f59da23f16cde248089a73baa7bbcdff0ec",
      "parents": [
        "fc53ee201a93e1488ccfbb95c1a37300706683f0"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Feb 06 19:04:47 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Feb 06 19:05:35 2024 -0800"
      },
      "message": "Update to 3.9.1\n\nUpdate build/test files and bazlets (moving to Java17 for compile/test).\nAlso update the bazel version to match core stable-3.9.\n\nChange-Id: I8f0880c2adc3aad9ffa79b80ef85c5fabc362acb\n"
    },
    {
      "commit": "fc53ee201a93e1488ccfbb95c1a37300706683f0",
      "tree": "1f4efb00c36f46413ec45eb134201eab65dea40e",
      "parents": [
        "bc795a56444a35ebc37b15c98515509c525325c1"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Feb 06 18:38:09 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Feb 06 18:38:09 2024 -0800"
      },
      "message": "Update to 3.8\n\nBuild against 3.8.0 and test against 3.8.3.\n\nChange-Id: Idf84544f57edfea9d3b3277ebe890472383c3cc6\n"
    },
    {
      "commit": "bc795a56444a35ebc37b15c98515509c525325c1",
      "tree": "d438e03719129f4e749f9df93818f8de85d2638d",
      "parents": [
        "a96eae1a7b987a260bb47a3640bd9e8b30e5aca1"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed Jan 17 08:13:35 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Feb 06 16:41:32 2024 -0800"
      },
      "message": "Update to 3.7\n\nBuild against 3.7.0 and test against 3.7.6. Also update the bazel\nversion to match core stable-3.7.\n\nChange-Id: I7597d120838e54ed1c0ac3220b22f32fbeeae9db\n"
    },
    {
      "commit": "a96eae1a7b987a260bb47a3640bd9e8b30e5aca1",
      "tree": "96b0c3e0ea78821fafb3c04658df61181480f92d",
      "parents": [
        "aab29aaa9b48610fd60b454c68ddb955447d43be",
        "31a72aeab20d13db5260bc56b54770ab1cb6e4aa"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Feb 06 14:36:25 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Feb 06 16:33:57 2024 -0800"
      },
      "message": "Merge branch \u0027stable-3.5\u0027\n\n* stable-3.5:\n  Revert \"bazel: Use canonical reproducible load_bazlets rule\"\n  Fix formatting\n  bazel: Use canonical reproducible load_bazlets rule\n  Update bazel version to 5.3.1\n  Update .bazelrc to match core\n  Fix documentation for stream command\n  Avoid streaming check on dropped events\n  Support filtering refUpdate events for NoteDb meta refs\n  Fix NoFileException during spinSubmit()\n  Fix documentation for trim cmd\n  Migrate build to python 3\n  Fire internal listeners before external stream ones\n  Test core stream-events also\n\nFix the change-restored filtered test to expect the correct number of\nevents on 3.6 where a bugfix removed no-op attention set updates.\n\nUpdate bazlets to a version that contains all the commits from the\nstable-3.5 branch as well as the 3.6 commit.\n\nAlso update the Dockerfile to use the latest 3.6 stable release with\nevent ordering fixes.\n\nChange-Id: Id144d2ddec331e584fc00ebbe28072cf2f121d58\n"
    },
    {
      "commit": "31a72aeab20d13db5260bc56b54770ab1cb6e4aa",
      "tree": "1ab360dc86180bfb020f896e789487f52d9598c6",
      "parents": [
        "a2feb6c7e12b405ba31d0e8fb257ef5547c3a8e1"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Feb 06 14:30:00 2024 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Feb 06 14:31:52 2024 -0800"
      },
      "message": "Revert \"bazel: Use canonical reproducible load_bazlets rule\"\n\nThis reverts commit 5e3a41afdd98896d2f9d3279f1e5a144ca051379.\n\nSince bazel v6.1.0 the warning about shallow_since has been removed\nsince it was determined [1] to be potentially harmful to build\nperformance and reliability.\n\n[1] https://github.com/bazelbuild/bazel/issues/12857\n\nChange-Id: Id9b44d260688b706a15be5df20d5a80e0968c548\n"
    },
    {
      "commit": "a2feb6c7e12b405ba31d0e8fb257ef5547c3a8e1",
      "tree": "c708e216c6760b61120ec1effefac2d987ec3d91",
      "parents": [
        "5e3a41afdd98896d2f9d3279f1e5a144ca051379"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Dec 21 15:35:28 2023 -0800"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Dec 21 15:35:28 2023 -0800"
      },
      "message": "Fix formatting\n\nRun google-java-format on a file that was missed in 7ad8061f44f2.\n\nChange-Id: Ie47278445d81e8f1d35f913fe54ab260b7436ce8\n"
    },
    {
      "commit": "5e3a41afdd98896d2f9d3279f1e5a144ca051379",
      "tree": "5bad728474e5478313c09cfb10c460e4b957cf37",
      "parents": [
        "060ed13f27f72e194d7a080537b072848f7c9c93"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Mon Dec 04 14:24:20 2023 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Mon Dec 04 14:24:20 2023 -0700"
      },
      "message": "bazel: Use canonical reproducible load_bazlets rule\n\nThis silences the debug message:\n  Rule \u0027com_googlesource_gerrit_bazlets\u0027 indicated that a canonical\n  reproducible form can be obtained by modifying arguments shallow_since\n\nChange-Id: I8c0a355d854db0a244be5b5febeda42c5b0ddae6\n"
    },
    {
      "commit": "060ed13f27f72e194d7a080537b072848f7c9c93",
      "tree": "0e06c3b84579705afe779cd24e2d9949639f7375",
      "parents": [
        "e84fe8626b38ebb5f9fe4d86aaee25b6f498a67a"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Mon Dec 04 14:21:14 2023 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Mon Dec 04 14:21:14 2023 -0700"
      },
      "message": "Update bazel version to 5.3.1\n\nThis matches core stable-3.5. Also update bazlets to use the latest\ndependencies.\n\nChange-Id: I7ecb0e5684acc94891619827d0a2f73813a53572\n"
    },
    {
      "commit": "e84fe8626b38ebb5f9fe4d86aaee25b6f498a67a",
      "tree": "b1fb705b01dc2fa50d4f820177b2e7e4513257a6",
      "parents": [
        "8352237b6c41f925a2d10d4693023a24c8dec485"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Mon Dec 04 14:19:15 2023 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Mon Dec 04 14:19:15 2023 -0700"
      },
      "message": "Update .bazelrc to match core\n\nThis allows sharing the bazel caches.\n\nChange-Id: I602c1be912cc60daa03058144b858dc94035941a\n"
    },
    {
      "commit": "8352237b6c41f925a2d10d4693023a24c8dec485",
      "tree": "806f2e7cb26d5cd020499478221be1118a89c058",
      "parents": [
        "7ad8061f44f230e8184ee5dfc1e572d7b9de3d53",
        "d335043dfb17c69be2c7a9ccb5cb9cab391492cc"
      ],
      "author": {
        "name": "Prakash Aswal",
        "email": "prakash.aswal@linaro.org",
        "time": "Tue Sep 26 05:17:49 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 26 05:17:49 2023 +0000"
      },
      "message": "Merge \"Fix documentation for stream command\" into stable-3.5"
    },
    {
      "commit": "d335043dfb17c69be2c7a9ccb5cb9cab391492cc",
      "tree": "5883ec974f1ce78c3d2ca037a43794bb4987e3ff",
      "parents": [
        "7e040afe30b317e998d92db015a85c7287a05536"
      ],
      "author": {
        "name": "Prakash Aswal",
        "email": "prakash.aswal@linaro.org",
        "time": "Tue Aug 29 16:05:51 2023 +0530"
      },
      "committer": {
        "name": "Prakash Aswal",
        "email": "prakash.aswal@linaro.org",
        "time": "Tue Aug 29 16:05:55 2023 +0530"
      },
      "message": "Fix documentation for stream command\n\nChange-Id: I6a9f6ecd3ae2520be60a7684d26bd64256d6586d\n"
    },
    {
      "commit": "7ad8061f44f230e8184ee5dfc1e572d7b9de3d53",
      "tree": "fde0b04bdac96cbf3ac9ef20b427176c0d14b7b1",
      "parents": [
        "7e040afe30b317e998d92db015a85c7287a05536"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Mon Aug 28 11:41:40 2023 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Mon Aug 28 17:18:51 2023 -0600"
      },
      "message": "Avoid streaming check on dropped events\n\nSince dropped events don\u0027t need to be sent out to streamListeners, avoid\nthe extra overhead of checking to see if they need to be fired to the\nstreamListeners. This helps reduce the load on the event system as each\nupdate check at a minimum requires reading the on disk \"head\" value. A\nside effect is also that these events will also not trigger pending\nevents from other primaries to fire, which likely results in significant\nextra and not very fruitful polling (see below).\n\nAssuming that events are distributed approximately evenly over all\nprimaries, then for every event on one primary, there should be\napproximately one other event on every other primary. So for each event\nwhich gets stored, there is a chance that 50% of the other primaries\nhave also stored an event still pending on the current primary. In these\ncases, flushing pending events is very likely to improve event firing\nlatency over polling, and the more primaries there are, the more\nvaluable this is as there will be more pending events. This means that\nthere should on average always be one pending when there are 3\nprimaries. However, when it comes to dropped events, this logic doesn\u0027t\nhold. If one primary has a dropped event, so likely will the others, but\nthose dropped events on the other primaries do no affect the current\nprimary since they do not require firing from the current primary! Thus\nthere is a low chance that this extra polling will be useful. This\nwasted polling effort was amplified by the fact that events configured\nto be dropped likely have a higher frequency then most of the events\nwhich are not dropped.\n\nRelease-Notes: Dropped events now result in less IO, and won\u0027t fire pending events from other primaries\nChange-Id: Ic87a53924dbdf4ce1b26450a5fb5fb46308c9a20\n"
    },
    {
      "commit": "7e040afe30b317e998d92db015a85c7287a05536",
      "tree": "4f6b33ce9ece478f5bac0761d1eba242452cd2bf",
      "parents": [
        "f4d2bfebe018d1acfd0148d8f2934516bb10f0af"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Thu Aug 24 12:47:57 2023 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Thu Aug 24 20:38:28 2023 -0600"
      },
      "message": "Support filtering refUpdate events for NoteDb meta refs\n\nRef update events on notedb meta refs are not useful and likely won\u0027t\never be consumed by external users as it is an internal Gerrit ref. Add\nsupport for a DROP rule to filter them out:\n\n DROP RefUpdatedEvent isNoteDbMetaRef\n\nOn our busy servers with too many writes on changes it seems to take too\nlong to store events, this sometimes causes other writes to suffer so\nhopefully filtering these out will help.\n\nRelease-Notes: NoteDb refUpdatedEvents can now be filtered\nChange-Id: I813d085d8a0ea5c6cdeb83753f97e8ee50727370\n"
    },
    {
      "commit": "f4d2bfebe018d1acfd0148d8f2934516bb10f0af",
      "tree": "6c6238277006040dcc61e7d52a7df7f00de362eb",
      "parents": [
        "341eb8c75f3cd457b2a5a5ce8ca2a5a077245bd1"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed May 03 10:28:54 2023 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Wed May 03 10:28:54 2023 -0700"
      },
      "message": "Fix NoFileException during spinSubmit()\n\nIf shouldCompleteOngoing() encounters a NoFileException, then it means\nthat work is being done and this thread doesn\u0027t need to do any, so we\ncan return false.\n\nChange-Id: Ibfd236431fce961fb7d0680c0675c631e0623646\nRelease-Notes: Fixes bug persisting events in busy multi-primary clusters\n"
    },
    {
      "commit": "341eb8c75f3cd457b2a5a5ce8ca2a5a077245bd1",
      "tree": "8caaa93af14647d9f3a549f0a8c271ca1e636b21",
      "parents": [
        "5e62dd08f6a429d43666c28cbd1a997ca7345420",
        "68f9c5e4f1c1aca4dda5230bdb59a34f75215cd1"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Wed Feb 08 15:41:33 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 08 15:41:33 2023 +0000"
      },
      "message": "Merge \"Fix documentation for trim cmd\" into stable-3.5"
    },
    {
      "commit": "68f9c5e4f1c1aca4dda5230bdb59a34f75215cd1",
      "tree": "75a5da39c487775a3e49256da9ffc46e48d6c20a",
      "parents": [
        "0fe9731822212bc714b9eb339fec50bf456546e0"
      ],
      "author": {
        "name": "Aniket Kumar",
        "email": "aniket.kumar@linaro.org",
        "time": "Tue Jan 24 17:17:55 2023 +0530"
      },
      "committer": {
        "name": "Aniket Kumar",
        "email": "aniket.kumar@linaro.org",
        "time": "Wed Feb 08 14:26:28 2023 +0530"
      },
      "message": "Fix documentation for trim cmd\n\nUpdate \u0027--id\u0027 to \u0027--trim-id\u0027 to match the actual option name.\n\nChange-Id: Ife39a903d2221f41d7c1054b900b46936bc6e9e3\n"
    },
    {
      "commit": "5e62dd08f6a429d43666c28cbd1a997ca7345420",
      "tree": "dd999aeb5efb82bbff254bd570160a66801bfe8a",
      "parents": [
        "0fe9731822212bc714b9eb339fec50bf456546e0"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Feb 02 17:04:18 2023 -0700"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Thu Feb 02 17:05:32 2023 -0700"
      },
      "message": "Migrate build to python 3\n\nUpdate the python version required in local scripts and in bazlets.\n\nbazlets log:\n$ git log --no-merges --oneline ^a52e3f381 00a97f961\nb2b8548 download to GERRIT_CACHE_HOME when set\n2d0cc7e Migrate to python 3\n6311520 tools/maven/package.bzl: Use bazelisk instead bazel\n\nChange-Id: I7a0671a0971ac91257ebca0aee8f8710dd5544a1\n"
    },
    {
      "commit": "0fe9731822212bc714b9eb339fec50bf456546e0",
      "tree": "8967c99c9cba00e306ebb07ad076b080ac2317ee",
      "parents": [
        "d0dc38e033671470dd742aef4aff5b22397033b5"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Wed Sep 21 14:37:58 2022 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Thu Sep 22 10:42:24 2022 -0600"
      },
      "message": "Fire internal listeners before external stream ones\n\nBy separating the internal listeners from the external stream event\nlisteners, this fixes two problems with the previous design. First, it\ncauses events from other primaries to only be sent to the external\nstream event listeners instead of the internal listeners. This ensures\nthat any internal event processing (such as posting a comment on a\ncherry-picked change) only happens once per cluster instead of once per\nprimary as it would previously. Second, since all new events resulting\nfrom internal dispatching will have been dispatched before sending\nevents to stream listeners, no new events will be dispatched while\nsending to stream listeners, and this avoids a sending loop which could\npreviously happen in these situations.\n\nAlso include some minor cleanups such a removing an unneeded volatile,\nand ordering variable definitions.\n\nChange-Id: Id95cbfef48d8b5c9bc3179dabb37949aed514227\n"
    },
    {
      "commit": "d0dc38e033671470dd742aef4aff5b22397033b5",
      "tree": "40a0e355eaf30a3cd75640ef28f304d78fe81e73",
      "parents": [
        "a04898834b39dd111730ae9c9f8d131e5e4e8bab"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Tue Sep 20 15:15:30 2022 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Thu Sep 22 10:33:38 2022 -0600"
      },
      "message": "Test core stream-events also\n\nNow that the core stream events are modified by this plugin also, it\nmakes sense to test the core stream events individually to make it\neasier to pinpoint any issues.\n\nChange-Id: I7e9d06a4739f8387ee6900ff9ef57ab3d1f4c449\n"
    },
    {
      "commit": "aab29aaa9b48610fd60b454c68ddb955447d43be",
      "tree": "fbd798fd1db5f4116301e29356ceafeabea19701",
      "parents": [
        "933416b34904a913d4d6777aa1023fcb78b65489",
        "a04898834b39dd111730ae9c9f8d131e5e4e8bab"
      ],
      "author": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Wed Aug 17 16:50:32 2022 -0700"
      },
      "committer": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Thu Aug 18 05:59:29 2022 +0000"
      },
      "message": "Merge  branch \u0027stable-3.5\u0027\n\n* stable-3.5:\n  Allow polling filesystem to be run on a specified queue\n  fixup!: Poll the filesystem for new events\n  Poll the filesystem for new events\n  Allow events from other primaries to be dispatched\n  Add ability to drop events by classname\n  Cleanup the event capturing for diffs\n  Run formatter on classes\n  test/docker: Support installing multiple plugins\n  test/docker/run: Stop caching artifacts\n  test/docker/run: Clarify --gerrit-war usage\n  Bump to Gerrit API 3.5.0.1\n  Add docker tag to docker-tests target\n\nChange-Id: Ie77344b2173cfd62cd88556c0deee59a0d2327ed\n"
    },
    {
      "commit": "933416b34904a913d4d6777aa1023fcb78b65489",
      "tree": "8c07955fa42bb45d6fee1a118225c8bb589233d2",
      "parents": [
        "a80f3411d3faa8ee0ce3e667df42006a13272260"
      ],
      "author": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Wed Aug 17 15:28:55 2022 -0700"
      },
      "committer": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Wed Aug 17 16:48:45 2022 -0700"
      },
      "message": "Build plugin with Gerrit Api 3.6\n\nChange-Id: I2165328b03448ab363bce021b92bb9f269d763f1\n"
    },
    {
      "commit": "a04898834b39dd111730ae9c9f8d131e5e4e8bab",
      "tree": "327ad102fd18e89ff773fffb98ae7a62a129e33a",
      "parents": [
        "307130bd64c62c2b6c994473d01f11ac14144566"
      ],
      "author": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Wed Aug 17 11:30:09 2022 -0700"
      },
      "committer": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Wed Aug 17 19:43:48 2022 +0000"
      },
      "message": "Allow polling filesystem to be run on a specified queue\n\nThe queue could be provided in the config section as explained\nin the Documentation. This allows polling task to be separated\nfrom the default core tasks.\n\nChange-Id: Ice9e608e5765397d12ccbdf1f378d149b14abada\n"
    },
    {
      "commit": "307130bd64c62c2b6c994473d01f11ac14144566",
      "tree": "9f3cacae56859f9f38f65231d3f92e5ea188f3e2",
      "parents": [
        "dcae7e2db4e61b34dd3792ed4bb6b8ca8d6941e3"
      ],
      "author": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Wed Aug 17 11:53:35 2022 -0700"
      },
      "committer": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Wed Aug 17 11:56:42 2022 -0700"
      },
      "message": "fixup!: Poll the filesystem for new events\n\nScheduled task is not cancelled during plugin removal\nsince the future used in start() and stop() are different.\nFix to use the same ScheduledFuture instance.\n\nChange-Id: I332d3e5d5ccd2a157de3c67202f4207f2d38b993\n"
    },
    {
      "commit": "dcae7e2db4e61b34dd3792ed4bb6b8ca8d6941e3",
      "tree": "edf629b5f947120f4bf0f344edccb14e26882944",
      "parents": [
        "a29e2319b460eee05d9d2f165b411194efd33a30"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Mon Oct 02 06:57:18 2017 -0600"
      },
      "committer": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Wed Aug 17 08:14:37 2022 -0700"
      },
      "message": "Poll the filesystem for new events\n\nIn a multi-primary environment events may be created and written\nto the filestore from any primary.  Without a notification system,\nevents written by other servers might only be seen by the current\nserver when the current server creates a new event.  If the traffic\non the current server is low, this delay may be significant and\nunacceptable.\n\nIn order to get events from other primaries output in a timely manner,\npoll the filesystem to recongnize when new events may have been\nwritten to the filestore and output them. This makes events timely\nin a multi-primary environment without any notification system, and\nmakes it more robustly timely in systems with notifications.\n\nChange-Id: Ic474f3ca639cc839b555f1ee82c97cc3e5882a89\n"
    },
    {
      "commit": "a29e2319b460eee05d9d2f165b411194efd33a30",
      "tree": "3259b2f47231f7f55915eec902bb775bc36e9a2c",
      "parents": [
        "6b2ad49c2fc2efd9a13918161e0661766bb42f41"
      ],
      "author": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Thu Aug 11 14:01:46 2022 -0700"
      },
      "committer": {
        "name": "Adithya Chakilam",
        "email": "adithya.chakilam@linaro.org",
        "time": "Wed Aug 17 08:12:05 2022 -0700"
      },
      "message": "Allow events from other primaries to be dispatched\n\nThis results in core stream events command to also return\nthe events from other primaries.\n\nChange-Id: Idb8334f8876b217fd32ca8b10937c4eaaa925a03\n"
    },
    {
      "commit": "6b2ad49c2fc2efd9a13918161e0661766bb42f41",
      "tree": "1db70479a7bd41a669d8556f6bf991790e627fed",
      "parents": [
        "018e6ca2d8c588e2c7fd3a384ee6a26a940be86a"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Thu Apr 28 12:48:32 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:24:56 2022 -0600"
      },
      "message": "Add ability to drop events by classname\n\nIntroduce the plugin.events.filter key which can be used to drop events\nby fully qualified classname before they are stored or sent to clients\nusing the following syntax:\n\n DROP classname fully.qualified.java.classname\n\nAlso add tests to confirm that the filtering works.\n\nChange-Id: Ic10f8c9b98f77d48c51d4ba082b96dff67782ec0\n"
    },
    {
      "commit": "018e6ca2d8c588e2c7fd3a384ee6a26a940be86a",
      "tree": "b38d820f84dde583c5f2d385eccf04b6d661ae3c",
      "parents": [
        "e76f42a131af4232c81d233db69e63d0cf223eba"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Fri Apr 29 11:02:20 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:23:29 2022 -0600"
      },
      "message": "Cleanup the event capturing for diffs\n\nSince there are several different types of captures happening in the\ntests, qualify the methods which are related to the diffs. Also\nexplicitly cleanup the diff captures once the results have been\nprocessed so that the resources are released before running any tests\nwhich may be added after the diff (such as filtered event tests).\nFinally, make it a bit clearer to which tests the diffs are intending to\napplied to by starting the captures inside the specific test GROUP which\nwill be diffed.\n\nChange-Id: I5bc8a95e24a84ab23c7f46a2824bea5f9a1d0121\n"
    },
    {
      "commit": "e76f42a131af4232c81d233db69e63d0cf223eba",
      "tree": "f8df3d3a85aee57c5084a84756a3f26c6f324e3a",
      "parents": [
        "de4a9f117ed104bf176d3946bde919bb2140aa70"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "martin.fick@linaro.org",
        "time": "Fri Apr 22 12:33:07 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:23:25 2022 -0600"
      },
      "message": "Run formatter on classes\n\nChange-Id: I7bbea82111cbea0f146e31fe575f24bf9ba6207e\n"
    },
    {
      "commit": "de4a9f117ed104bf176d3946bde919bb2140aa70",
      "tree": "2374ba03b9ab665c33b7b06e1f049ff3fecb19f6",
      "parents": [
        "6a512047755dbfb35b5b132b3aaa2788cbdee652"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:22:43 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:22:43 2022 -0600"
      },
      "message": "test/docker: Support installing multiple plugins\n\nReplace the non-generic \u0027--events-plugin-jar\u0027 option with a generic\n\u0027--plugin\u0027 option that can be specified multiple times to install\nadditional plugins for testing.\n\nThis also makes it easier to build CI systems that can use a common\ntesting interface.\n\nChange-Id: I1acc33e1062048885c7a045d218501a6029c3664\n"
    },
    {
      "commit": "6a512047755dbfb35b5b132b3aaa2788cbdee652",
      "tree": "7be6c947c45c401abcfde9cabc64c1542a671848",
      "parents": [
        "2203a48eac9917ca6c151244c5ba4ff7335061f2"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:22:37 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:22:37 2022 -0600"
      },
      "message": "test/docker/run: Stop caching artifacts\n\nTrying to cache artifacts like this causes surprises where a different\nversion of plugin or gerrit is being tested than expected.\n\nWe don\u0027t expect a --gerrit-war often during normal plugin development,\nbut add a default of bazel-bin/events.jar for the plugin jar option\nso that it doesn\u0027t have to be specified to run tests.\n\nUsing the \u0027bazel test docker-tests\u0027 command is still better because it\nensures the plugin version you\u0027re testing matches the tree you have\nchecked out.\n\nChange-Id: I126c891c47c5919e9cb58c5b3bbb99414e827c6c\n"
    },
    {
      "commit": "2203a48eac9917ca6c151244c5ba4ff7335061f2",
      "tree": "706b49455b9ac328263ce39bd848a0b24383ce44",
      "parents": [
        "cdd742fac433ec66de3dc2365538639628842ef0"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:22:31 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:22:31 2022 -0600"
      },
      "message": "test/docker/run: Clarify --gerrit-war usage\n\nSince the Dockerfile derives from an image that has already run init,\ntrying to use a gerrit WAR that is a substantially different version\nwill probably not work correctly. Add a note documenting that.\n\nChange-Id: I1a3d815d0a19f2c045ba1426d503da5d92a63cef\n"
    },
    {
      "commit": "cdd742fac433ec66de3dc2365538639628842ef0",
      "tree": "975deafe000f3bbf32b204f43f19cec3a40c25e1",
      "parents": [
        "358a40ef2679a489f6e28564359db9b37c92ba54"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:22:30 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:22:30 2022 -0600"
      },
      "message": "Bump to Gerrit API 3.5.0.1\n\nChange-Id: I680bc254d70a58f04922cdaef1e27a042fda2b3a\n"
    },
    {
      "commit": "358a40ef2679a489f6e28564359db9b37c92ba54",
      "tree": "62046dea2930bd463981d2540c689ee97ec86108",
      "parents": [
        "a80f3411d3faa8ee0ce3e667df42006a13272260"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:22:25 2022 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser.grainawi@linaro.org",
        "time": "Tue Aug 16 22:22:25 2022 -0600"
      },
      "message": "Add docker tag to docker-tests target\n\nMakes it easier to filter out this target where docker isn\u0027t installed.\n\nChange-Id: I2c5906440221fbbbdbe313fe4024ea4e9b1c35f2\n"
    },
    {
      "commit": "a80f3411d3faa8ee0ce3e667df42006a13272260",
      "tree": "d7bfa26e93c8781701bd3862dc7a53d4b9626470",
      "parents": [
        "378366e982a6537cd3b1ff4ee7a51b6ed7a0fa37",
        "42fa7336e9691a653d5c9746930655687b86e739"
      ],
      "author": {
        "name": "Prakash Aswal",
        "email": "paswal@codeaurora.org",
        "time": "Wed Sep 22 19:13:48 2021 +0530"
      },
      "committer": {
        "name": "Prakash Aswal",
        "email": "paswal@codeaurora.org",
        "time": "Wed Sep 22 19:15:00 2021 +0530"
      },
      "message": "Merge branch \u0027stable-3.4\u0027\n\n* stable-3.4:\n  Add Zuul postflight publish job\n  docker: make sure to cleanup containers before force exit\n  Harden shell commands\n  Enable compiler warnings as errors\n  Add bazel target for junit tests\n  Add Zuul configuration to run tests on the CI node\n\nChange-Id: Ice2cade040460ca6c86af8dab64d55e9bdf2f6fd\n"
    },
    {
      "commit": "42fa7336e9691a653d5c9746930655687b86e739",
      "tree": "d7bfa26e93c8781701bd3862dc7a53d4b9626470",
      "parents": [
        "ba2ca72f9a3fbeb07ad6a4a475d0bbcb47631613"
      ],
      "author": {
        "name": "Prakash Aswal",
        "email": "paswal@codeaurora.org",
        "time": "Wed Sep 15 12:30:15 2021 +0530"
      },
      "committer": {
        "name": "Prakash Aswal",
        "email": "paswal@codeaurora.org",
        "time": "Thu Sep 16 14:11:18 2021 +0530"
      },
      "message": "Add Zuul postflight publish job\n\nThis was added by default for other non-core plugins in [1], but since\nwe define our own project, we need to add the job ourselves.\n\n[1] https://gerrit-review.googlesource.com/c/zuul/config/+/314842\n\nChange-Id: I298005bd93413a6a1a1f9a0282d7c9646a6ad648\n"
    },
    {
      "commit": "ba2ca72f9a3fbeb07ad6a4a475d0bbcb47631613",
      "tree": "64776f3ab0ccc0a17d51b9c795d1893512cc638b",
      "parents": [
        "d878ab8589c8b4898a36dbbd8dfe06c723b5643b"
      ],
      "author": {
        "name": "Prudhvi Akhil Alahari",
        "email": "prudhvi@codeaurora.org",
        "time": "Thu Aug 26 00:14:34 2021 +0530"
      },
      "committer": {
        "name": "Prudhvi Akhil Alahari",
        "email": "prudhvi@codeaurora.org",
        "time": "Mon Sep 13 15:40:59 2021 +0000"
      },
      "message": "docker: make sure to cleanup containers before force exit\n\nObserved containers were being left over on the host machine when\ndocker tests were terminated mid way. Due to this, host machine was not\nable to run anymore containers after a certain threshold of running\ncontainers and eventually runs out of available memory. Fix this issue\nby always cleaning the containers when exiting from the tests.\n\nChange-Id: I14056ba1e883a40fbd4251d1565da1ee5b102770\n"
    },
    {
      "commit": "d878ab8589c8b4898a36dbbd8dfe06c723b5643b",
      "tree": "3b1ab5b96f53e97e2531afeb16f575c51284a4b8",
      "parents": [
        "7f557c3fc80109c74c12b1705a674e03802f2a4e"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Mon Aug 30 14:11:29 2021 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Mon Aug 30 14:11:29 2021 -0600"
      },
      "message": "Harden shell commands\n\nAlso improve/add MacOS readlink compatibility.\n\nChange-Id: I9d78e8a271b85b6810d307b6ed0072c1ec13bfa6\n"
    },
    {
      "commit": "7f557c3fc80109c74c12b1705a674e03802f2a4e",
      "tree": "4197c4afd73dd749019894f6891b262da35cc13a",
      "parents": [
        "78a7854af459da581143b78a90b876b061cf4987"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Tue Aug 03 15:13:42 2021 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Tue Aug 03 15:13:42 2021 -0600"
      },
      "message": "Enable compiler warnings as errors\n\nFix the one error by switching to a non-deprecated method.\n\nChange-Id: Iba6dacc3e48e47dd0bc5467587c8476cb395267f\n"
    },
    {
      "commit": "78a7854af459da581143b78a90b876b061cf4987",
      "tree": "c45ceedcb80efc94a2d669b8206b805a07bff174",
      "parents": [
        "5a7431a9a1441110ae4310059ae204b72fac0942"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Thu Jul 22 13:27:17 2021 -0600"
      },
      "committer": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Tue Aug 03 10:39:15 2021 -0600"
      },
      "message": "Add bazel target for junit tests\n\nThis was missed when converting from maven.\n\nAlso run buildifier on BUILD to make formatting changes.\n\nChange-Id: I105ec710b7810fa209bd47b0a69bc210e5fdf7da\n"
    },
    {
      "commit": "378366e982a6537cd3b1ff4ee7a51b6ed7a0fa37",
      "tree": "5b1052e2a9eefd25f67ef027965915e8f93f3903",
      "parents": [
        "ae81fa96830be390fb8bc69b57089dedbc3078d8",
        "348fa735cf5c21e897b348b54f85143c04a96a6e"
      ],
      "author": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Thu Jul 08 16:05:39 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 08 16:05:39 2021 +0000"
      },
      "message": "Merge \"Add Zuul configuration to run tests on the CI node\""
    },
    {
      "commit": "348fa735cf5c21e897b348b54f85143c04a96a6e",
      "tree": "58988c2f8dfeae4183649d8c477bb53dbccb622b",
      "parents": [
        "ef8f0124a3a68edc750dae0af746d5fbcf670d2e"
      ],
      "author": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Thu Jul 08 15:55:32 2021 +0530"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Thu Jul 08 16:01:42 2021 +0530"
      },
      "message": "Add Zuul configuration to run tests on the CI node\n\nAdd Zuul configuration to install Docker on the CI node so we can run\nthese tests from CI successfully.\n\nChange-Id: Ia5ab3041bb6633e08f4d8871113ba1b98f03f574\n"
    },
    {
      "commit": "5a7431a9a1441110ae4310059ae204b72fac0942",
      "tree": "c75da75c574c022e0dbb882004342b089297ff36",
      "parents": [
        "ae81fa96830be390fb8bc69b57089dedbc3078d8"
      ],
      "author": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 21 10:56:15 2021 +0530"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 21 10:59:24 2021 +0530"
      },
      "message": "Add Zuul configuration to run tests on the CI node\n\nAdd Zuul configuration to install Docker on the CI node so we can run\nthese tests from CI successfully.\n\nChange-Id: I31387d7832d7109f98b51d2958a19e34ade6c420\n"
    },
    {
      "commit": "ae81fa96830be390fb8bc69b57089dedbc3078d8",
      "tree": "3614a5fa3b74278d18a4dc3362f5f9e5a39124bf",
      "parents": [
        "614e5e4e8f593e9edf82e0d69c0e0cc756fcc4eb"
      ],
      "author": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Wed Jun 02 15:26:12 2021 +0530"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Thu Jun 17 15:13:05 2021 +0000"
      },
      "message": "build with 3.4\n\nChange-Id: Idf9b565d56dfbdf4ac6eced9a9d76d8362040253\n"
    },
    {
      "commit": "614e5e4e8f593e9edf82e0d69c0e0cc756fcc4eb",
      "tree": "e8fbe223f2dfba1b7f3a3cc2ea48e9f319d9cbd8",
      "parents": [
        "d4cf37303387480e8b8985d2f260af15bb040964"
      ],
      "author": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Wed Jun 02 11:35:48 2021 +0530"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Thu Jun 17 20:41:38 2021 +0530"
      },
      "message": "build with 3.3\n\nwhen a change is abandoned, we get two \u0027ref-updated\u0027 event on the\nchange\u0027s meta ref, and  when a change is merged, we get four\n\u0027ref-updated\u0027 event on the change\u0027s meta ref. So, update the\ncorresponding tests accordingly.\n\nChange-Id: I4a2b65b2342451722dda78e109f8f192020c1ce7\n"
    },
    {
      "commit": "d4cf37303387480e8b8985d2f260af15bb040964",
      "tree": "ce1df1da91e99bd799ee4eaf1603d5b7d49b0490",
      "parents": [
        "0f5edad52bdbc66373964c1ee792d44d2b21beb7"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Tue Jun 30 15:10:41 2020 -0600"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 11:16:47 2021 +0530"
      },
      "message": "fixup! fixup! Create an events plugin\n\nNeed to add the correct capability scope for plugins since\nI82f7a6fef2a47613a1fd9c7474ff568db3ca84a2.\n\nChange-Id: I4ef866d14992fda20dd8b98cd8b9a3918dd4a92d\n"
    },
    {
      "commit": "0f5edad52bdbc66373964c1ee792d44d2b21beb7",
      "tree": "6a2da1ff583dd08617433b58bca776e956fd483b",
      "parents": [
        "01e5fc997df961075941c095ec3ee4f7511a86e3"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Wed Feb 05 11:38:25 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:36:24 2021 +0530"
      },
      "message": "events: Enable compile-time warnings as errors\n\nAlso fix issues reported by SonarQube and other small nits.\n\nChange-Id: I4f4a12302d5907b5a65bf38a67dd186195517f76\n"
    },
    {
      "commit": "01e5fc997df961075941c095ec3ee4f7511a86e3",
      "tree": "b40851cc52e1a2e9d1ae22d4a082a6d8ad9bab85",
      "parents": [
        "ffd97fb3182ac145c0a73c4c9c36592aa742022a"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Wed Jun 03 17:13:14 2020 -0600"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:30:57 2021 +0530"
      },
      "message": "Update Eclipse settings for version 2020-03 (4.15.0)\n\nAlso clean up old unused settings files or files that were copied by\naccident.\n\nChange-Id: Ie725663cb542dafd7c5e7cfa1088eef7323e11d0\n"
    },
    {
      "commit": "ffd97fb3182ac145c0a73c4c9c36592aa742022a",
      "tree": "831bbaf53c3ed506ba2b78cea48fd8722ba5a477",
      "parents": [
        "c5320289eef6099d67da82e22a6aef882d4e3e77"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Tue Feb 04 17:12:15 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:29:43 2021 +0530"
      },
      "message": "events: catch and ignore DirectoryIteratorException\n\nA DirectoryIteratorException wraps an IOException for a case where the\nmethod is not allowed to throw an IOException. For many cases of our\nerror handling, treat it the same as an IOException by throwing the\nwrapped IOException. Also clean up some usages of IOException handling\nwhere it should be propagated further up.\n\nChange-Id: I34b386dbd7bc1ab6cb890ab4c9616b37585a4f52\n"
    },
    {
      "commit": "c5320289eef6099d67da82e22a6aef882d4e3e77",
      "tree": "6f589db1015fa928afa1e668064de3cde6e35031",
      "parents": [
        "8402c360f1e8c53a3aa6a394b48909980053ecea"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Feb 14 17:31:53 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:28:26 2021 +0530"
      },
      "message": "Avoid read and updating the event sequences simultaneously\n\nAdd a java synchronized around the reads and updates to the sequence\nvalues to ensure that a single process on the same host using the object\ncorrectly does not alone cause NFS_silly_renames which can result in the\nloss of the value file. Adjust the FsStoreTest to use a common FsStore\nso that the synchronized will work across the different test threads.\nTesting shows that with this change, the value file is never lost from\nthe code itself. In theory it can still be lost be reading the value\nfile externally or running this more than once on the same host.\n\nChange-Id: Ifc7651f8123550d41faaeade16885244bf5101ac\n"
    },
    {
      "commit": "8402c360f1e8c53a3aa6a394b48909980053ecea",
      "tree": "728bccba9833ae09b2e03918e0eecb4ccd93083a",
      "parents": [
        "a029af7c30b3c081d45b5f07c1769d0e746b5428"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Feb 14 18:06:45 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:27:08 2021 +0530"
      },
      "message": "Make reading event sequence files safer\n\nCapture ArrayIndexOutOfBoundsException which is a RuntimeException and\ntherefore was missed. This exception can be thrown when reading a file\nwhich is concurrently updated. This exception has been seen when the\nvalue file was replaced (a normal occurrence for any updates).\nPreviously if this exception occurred, then the Gerrit operation causing\nthe event could fail and the event could be lost; this should no longer\nbe the case.\n\nChange-Id: Id53f9529ba921d6d7ba6a32be1ece73987f91ec0\n"
    },
    {
      "commit": "a029af7c30b3c081d45b5f07c1769d0e746b5428",
      "tree": "846b5faaf2ad28f73a4e26f8045d0a64bd82fd58",
      "parents": [
        "815133ab15d20f9af5e36f58438ee28d916880e2"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Thu Feb 13 17:12:51 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:25:55 2021 +0530"
      },
      "message": "Fix miss-spelled perserve() method name in event plugin\n\nRename the miss-spelled perserve() method to preserve().\n\nChange-Id: I37110bd26bf0b6c0d977e9d35151ca9ad804b471\n"
    },
    {
      "commit": "815133ab15d20f9af5e36f58438ee28d916880e2",
      "tree": "f9df00cf39f4a5d999d767e1a444f5e06b9a928a",
      "parents": [
        "8019d4141f6b4e4318272c49c6aaebbaccdc69b1"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Thu Feb 13 17:00:58 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:24:41 2021 +0530"
      },
      "message": "fixup! Fix event plugin possible transaction reuse bug\n\nFix the paths that were not updated when adding the \u0027next\u0027 directory.\n\nChange-Id: I34e084f8d00bc9f0017c33678ba817720f769565\n"
    },
    {
      "commit": "8019d4141f6b4e4318272c49c6aaebbaccdc69b1",
      "tree": "7c20cb7e8f3d368763b3c4aab5952c25f1c24336",
      "parents": [
        "33d28aab6f1492acb6f811c01fed7525cfe0e4d5"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Thu Feb 13 11:31:04 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:23:21 2021 +0530"
      },
      "message": "Make event serialization encoding more explicit\n\nCreate a Fs.writeUtf8() method that explicitly writes using UTF8 instead\nof relying on the default to be UTF8. Also rename the Fs.readFile()\nmethod to readUtf8() to make it more obvious that it is deserializing\nusing UTF8 and to make it an obvious counterpart to the new writeUtf8()\nmethod.\n\nChange-Id: Id270a3f1b8b9dfc86d63f21ad1854b00476f3f87\n"
    },
    {
      "commit": "33d28aab6f1492acb6f811c01fed7525cfe0e4d5",
      "tree": "f043aa9c1073c8264c875a6861178ea2f3ec0dae",
      "parents": [
        "deebb54e70c16e76fcc4c95e5c624b6409e210cc"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Feb 07 11:31:35 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:22:09 2021 +0530"
      },
      "message": "Fix event plugin possible transaction reuse bug\n\nWith the previous design, it was possible for a proposal for an old\ntransaction to be replayed after the transaction had been completed and\ndeleted by another actor. This can result an outdated sequence number\nfrom being reused and losing an old event. Previously proposals were\nrenamed to update/\u003cuuid\u003e/ which could happen at the wrong time after the\n\u003cuuid\u003e dir was deleted. Fix this by introducing the \u0027next\u0027 directory. In\nthe new design, all actors must rename their next proposals to\n\u003cuuid\u003e/next. This prevents outdated proposals for old transactions from\nbeing used after the \u003cuuid\u003e dir is deleted.\n\nTesting FsStoreTest with -j 100 and a count of 1000 shows that the\nprevious design would result in many reused ids, around 150 out of 100K\nevents. With the same settings, there were no errors with the new\ndesign.\n\nTesting also show this to be compatible with the previous design. While\nthe previous and new designs cannot complete each other\u0027s transactions,\nthey do not interfere with each other. This should make a multi master\ntransition while both the old and new designs are running acceptable.\n\nThe new design is slower in the single threaded case due to the extra\ndirectory being created and deleted. The new design appears to be faster\n50% faster with 100 threads, possibly due to the bug fix preventing more\ncollisions, although it is hard to make an apples to apples comparison\ndue to the buggy nature of the previous design.\n\nChange-Id: I4bbea6c8a17b84ac84cf7906825ad65f9f7f5301\n"
    },
    {
      "commit": "deebb54e70c16e76fcc4c95e5c624b6409e210cc",
      "tree": "b3d3f418e3a6452ed70b10ab145d4efff1c9b3a5",
      "parents": [
        "8969293c4c99f5a532e47a5bb406d87f2b2e4644"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Feb 07 15:28:34 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:20:57 2021 +0530"
      },
      "message": "Enhance event plugin test with threads\n\nAdd a --threads (-j) option to FsStoreEvent to be able to stress test\nthings better. Adjust the local spinning disk performance numbers,\nthey appear to have been off by approximately 1000.\n\nChange-Id: Ic8f74ae630f10057af2a0d8eab3ba737f93f5fa0\n"
    },
    {
      "commit": "8969293c4c99f5a532e47a5bb406d87f2b2e4644",
      "tree": "c675b6f9a7197d3d728ad5fa0759ef7c6caed467",
      "parents": [
        "1af8cb66d41a489cb4b21b1dfb1a3e285ac02c53"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Feb 07 14:42:18 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:19:43 2021 +0530"
      },
      "message": "Make event plugin FsStoreTest parse options\n\nThis paves the way for adding more options, such as thread count, in a\nsane way.\n\nChange-Id: I6aaf646760c14a48156d17527be96a6277c4ff39\n"
    },
    {
      "commit": "1af8cb66d41a489cb4b21b1dfb1a3e285ac02c53",
      "tree": "682682f8ae02d7be3a6bb098147004cd24eff775",
      "parents": [
        "f72afd6efd7617284dfc28b5e62fddfbdb0d17e3"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Feb 07 14:19:44 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:18:27 2021 +0530"
      },
      "message": "Make event plugin FsStoreTest more extensible\n\nMove more state to the test object so that we can more easily create\nmultiple copies to run in separate threads.\n\nChange-Id: Icd5bad4ccfcca2c5ef1b2f0d6fb986184e62b727\n"
    },
    {
      "commit": "f72afd6efd7617284dfc28b5e62fddfbdb0d17e3",
      "tree": "08188ef9aaa8ed6a40a0bb04fe1df1ca62d2f160",
      "parents": [
        "1a025700b6f0376aa9b44b70256c2b6e25e76dc7"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Thu Feb 06 18:46:21 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:17:12 2021 +0530"
      },
      "message": "Ensure event classes are overridable\n\nAdd protected or public to unqualified identifiers. Also add some finals\nwhere appropriate.\n\nChange-Id: Id4c98f7fb12ba788518ac9dea8232eea940116d1\n"
    },
    {
      "commit": "1a025700b6f0376aa9b44b70256c2b6e25e76dc7",
      "tree": "bca550f21695e8d187f3979605331be0592495ee",
      "parents": [
        "ba66079c97d152b443402d0f9aaaf1afbe783729"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Thu Feb 06 18:30:58 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:15:57 2021 +0530"
      },
      "message": "Improve Overrides in event plugin\n\nProvide a functional default getDestination() that can be overridden for\nsharding, and override it for testing with the original \"dumb\" version.\n\nAlso add more missing @Overrides.\n\nChange-Id: Ibbfca57616390c1c6abe7c0e492c84a1cac941ea\n"
    },
    {
      "commit": "ba66079c97d152b443402d0f9aaaf1afbe783729",
      "tree": "19cd10c5e47badab548426f494115a4a8745ad6b",
      "parents": [
        "6225f73d357658f3c47e391ee77f9552f8d371d7"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Thu Feb 06 13:55:01 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:14:38 2021 +0530"
      },
      "message": "Improve the docs for the event plugin\n\nParticularly improve the documentation of the various phases and their\ntransitions (renames). Add some more performance numbers.\n\nChange-Id: Icfb668213e180267cb303df652c77c83dd6f2c22\n"
    },
    {
      "commit": "6225f73d357658f3c47e391ee77f9552f8d371d7",
      "tree": "2065c50d84491023d21a2521978622b38b9203df",
      "parents": [
        "ef8f0124a3a68edc750dae0af746d5fbcf670d2e"
      ],
      "author": {
        "name": "Nasser Grainawi",
        "email": "nasser@codeaurora.org",
        "time": "Wed Feb 05 10:41:02 2020 -0700"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Mon Jun 07 10:13:07 2021 +0530"
      },
      "message": "events: Fix reversed logic in clean()\n\nThis is a bug preventing cleanup of the build directory under normal\noperation. We want the logic to only skip cleaning the build directory\nwhen there was more than \u0027max\u0027 items cleaned in the delete directory.\n\nChange-Id: Ib457a8b47c2c025dc7859094836ea6624f4ae4c3\n"
    },
    {
      "commit": "ef8f0124a3a68edc750dae0af746d5fbcf670d2e",
      "tree": "6cc9a4c61f34a2294aa05c79ad177afc6bd30728",
      "parents": [
        "021796e171e1aa1936cf3213a5bd35dcdd436fc5"
      ],
      "author": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Wed Jun 02 11:00:26 2021 +0530"
      },
      "committer": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Wed Jun 02 11:03:41 2021 +0530"
      },
      "message": "build with 3.2\n\nChange-Id: I80e150b7f50e350e0f267d68a1594d6454906b30\n"
    },
    {
      "commit": "021796e171e1aa1936cf3213a5bd35dcdd436fc5",
      "tree": "28f9ae1f033a443504075ac47f3115dfd6c44937",
      "parents": [
        "109cd4de93df5642bee15371eaaf04e49825211a"
      ],
      "author": {
        "name": "Sumit LNU",
        "email": "suchawla@codeaurora.org",
        "time": "Tue Jun 01 22:19:15 2021 +0530"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Tue Jun 01 17:37:26 2021 -0700"
      },
      "message": "build with 3.1\n\nRemove \u0027final\u0027 from method signatures. Also, now when a change is\nabandoned or restored, we only get one \u0027ref-updated\u0027 event on the\nchange\u0027s meta ref, so, update the corresponding tests accordingly.\n\nChange-Id: Iaeddab6bf83bbc33110423563bbfab4bb6f953df\n"
    },
    {
      "commit": "109cd4de93df5642bee15371eaaf04e49825211a",
      "tree": "31d1e2f50299bad85ab09edba7fc6feb96aee922",
      "parents": [
        "775d5b00afa1d5f61e26e0b42c97aa28c68a56fc"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Thu May 27 17:06:31 2021 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Fri May 28 12:08:12 2021 -0700"
      },
      "message": "build with 3.0\n\nChange-Id: I0b222254eafa33b94a740106b6ed47aca0f00e35\n"
    },
    {
      "commit": "775d5b00afa1d5f61e26e0b42c97aa28c68a56fc",
      "tree": "e1b967e47a09ce6cee99b4a71e0e06d13fb2c2b2",
      "parents": [
        "6c0731214d0d09bb143146c72b36efae4145a2c6"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Thu May 27 13:05:13 2021 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Fri May 28 11:56:12 2021 -0700"
      },
      "message": "build with 2.16\n\nRemove Gerrit-ApiVersion from BUILD as bazlets does this\nfor us from 2.16.\n\nChange-Id: Id4569babe90bd2043dc1896455e1bbe55b1171be\n"
    },
    {
      "commit": "6c0731214d0d09bb143146c72b36efae4145a2c6",
      "tree": "36a66cecf432539c786360ca9fa3d9c8f8bff446",
      "parents": [
        "79e7941ff738c805da0264d026842daca67d8e9c"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Fri May 28 11:04:19 2021 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Fri May 28 11:53:33 2021 -0700"
      },
      "message": "Remove support for maven build\n\nChange-Id: I20650545078fdf8580d546f884c9e749c452ef4e\n"
    },
    {
      "commit": "79e7941ff738c805da0264d026842daca67d8e9c",
      "tree": "18b6719ad39220814a81a3df1f696dab6eb30fc8",
      "parents": [
        "34a8e1a754c12dd1ec79e38980e9db2e02be4691"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Mon May 24 15:51:01 2021 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Thu May 27 11:47:37 2021 -0700"
      },
      "message": "build with 2.15\n\nUpdate tests to account for more events appearing due to notedb being\nenabled. Also, since 2.15 removes drafts, remove the corresponding test\ncase and include wip and private ones.\n\nChange-Id: I600b8a498f4b8b65db0694c4e98506a484e6db6d\n"
    },
    {
      "commit": "34a8e1a754c12dd1ec79e38980e9db2e02be4691",
      "tree": "5ebe69d35efb03e06caa9b4a6bff5e52ab0bbef3",
      "parents": [
        "a97ebfbff2808a98b7fe6eb443b14b2c182e1e10"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Wed May 26 09:17:35 2021 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Thu May 27 11:47:26 2021 -0700"
      },
      "message": "test_events_plugin.sh: Assert for expected events count\n\nRather than asserting for expected events to be in a specific order,\nassert for the event count of each desired type. Also, fix an issue\nwhere the commands to capture events were killed improperly when the\ndesired number of events are captured.\n\nChange-Id: I1ed2e8fd6af469c7c2cbbb73170c8025918ae694\n"
    },
    {
      "commit": "a97ebfbff2808a98b7fe6eb443b14b2c182e1e10",
      "tree": "1a26af821cb7564e32d592ee8154f12af7b0b269",
      "parents": [
        "5cac8cd4016f67222080c53848c2a0b52ef05e4d"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Thu May 27 09:48:20 2021 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Thu May 27 11:46:42 2021 -0700"
      },
      "message": "test_events_plugin.sh: Fix indentation\n\nChange-Id: I972ffb842c9daf240a9fc29f87762912a54a2d1e\n"
    },
    {
      "commit": "5cac8cd4016f67222080c53848c2a0b52ef05e4d",
      "tree": "f6b1bb5fecb73b8bb8101e6944bb29ce50bea802",
      "parents": [
        "16126c9426fad1bba9f90972e19c46cf8b58dd61"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Mon May 24 09:02:36 2021 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Mon May 24 15:58:40 2021 -0700"
      },
      "message": "Add Bazel support for running docker tests\n\nNow you can do \u0027bazel test docker-tests\u0027 and it will 1) build the events\nplugin if needed and 2) run test/docker/run.sh with that built events.jar.\n\nChange-Id: Ic67aa6253404d9eeb0774dd80c883c6039bf092b\n"
    },
    {
      "commit": "16126c9426fad1bba9f90972e19c46cf8b58dd61",
      "tree": "ebeef565a72838120b2181f7132684f225a0807b",
      "parents": [
        "878dab3254258d7a6a0d7cbdb26c71096acfb2bb"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Fri May 21 12:30:33 2021 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Mon May 24 15:12:11 2021 -0700"
      },
      "message": "test/docker: Use gerritcodereview docker image\n\nUse a 2.14.21-ubuntu16 gerritcodereview image tag as the plugin\ncurrently is compatible with 2.14 gerrit version.\n\nRetain the options for specifying a gerrit.war and/or events.jar\nbut convert them to use local paths since the use cases for those\nnow are to specify locally-built artifacts.\n\nAs gerritcodereview image has reviewnotes plugin installed, update\nthe change-merged test in test_events_plugin.sh to account for an\nextra event of type \u0027ref-updated\u0027 on \u0027refs/notes/review\u0027 which gets\nfired when reviewnotes is installed. Also, fix the test script to\nexit with the correct status.\n\nChange-Id: I11c079c93dffb8703a4ae4e3cfb00e485385f58e\n"
    },
    {
      "commit": "878dab3254258d7a6a0d7cbdb26c71096acfb2bb",
      "tree": "1263852f9ada1722c9ed0a86e5ff4daa9efdb87a",
      "parents": [
        "1aa85f5558d619821a17af6cdc8f1166d650dbb3"
      ],
      "author": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Fri May 21 14:22:11 2021 -0700"
      },
      "committer": {
        "name": "Kaushik Lingarkar",
        "email": "kaushikl@codeaurora.org",
        "time": "Mon May 24 15:10:57 2021 -0700"
      },
      "message": "Add Bazel support\n\nChange-Id: Ie9359954e1883cf4d50645f8ef990ed6432e55a3\n"
    },
    {
      "commit": "1aa85f5558d619821a17af6cdc8f1166d650dbb3",
      "tree": "9bec4fd1d85ee955bf2c61773368a3f6c2a92e0e",
      "parents": [
        "7a8ad03aef8953fd8f5c34a04fcc614eb5db1ff6"
      ],
      "author": {
        "name": "Aditya Gupta",
        "email": "agaditya@codeaurora.org",
        "time": "Wed Mar 03 11:09:26 2021 +0530"
      },
      "committer": {
        "name": "Aditya Gupta",
        "email": "agaditya@codeaurora.org",
        "time": "Tue Mar 23 22:04:38 2021 +0530"
      },
      "message": "Support to run shell script tests in docker environment\n\nAutomate shell script tests to run in docker environment so that we can\nreduce the manual effort for running these tests. In this setup there\nare two containers, one for running gerrit server and another for\nrunning tests. The gerrit server is hosted on gerrit-01 container and\nthe tests are run on run_tests container, default user which is used to\nrun docker tests is created by impersonating the \u0027admin\u0027 account which\nis created when gerrit is initialized.\n\nChange-Id: I0b4fdebdf9e27cf5250e45845b562bde58248d0e\n"
    },
    {
      "commit": "7a8ad03aef8953fd8f5c34a04fcc614eb5db1ff6",
      "tree": "b070253be0c0a052d906e372e7e4e2cbf38159e2",
      "parents": [
        "766d9daeff3df5c3d43beedb8b4501e534361f08"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sun Oct 01 04:13:17 2017 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sun Oct 01 04:13:17 2017 -0600"
      },
      "message": "build with 2.14\n\nChange-Id: Ifc47749f4e2440178ef80b7423a42f375dc207f6\n"
    },
    {
      "commit": "766d9daeff3df5c3d43beedb8b4501e534361f08",
      "tree": "d8dcf62ef3d7be022053591f4ad831cb4db57861",
      "parents": [
        "7a25a9db85952f48ab4c7c2e76d1b195af0d2de1"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sun Oct 01 03:19:45 2017 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sun Oct 01 04:11:15 2017 -0600"
      },
      "message": "build with 2.13\n\nUpdated the visibility checking to be more generic and able to handle more cases.\n\nChange-Id: I988541cf36857f7e26cbbb417fe21ab5c1a6f7a2\n"
    },
    {
      "commit": "7a25a9db85952f48ab4c7c2e76d1b195af0d2de1",
      "tree": "245a4cf080d463e1c967cb26f31e84d0b26f4d32",
      "parents": [
        "cfe4e63847b1da5f1093b1218f1e4b0c0ed94ce7"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Thu Aug 24 11:47:08 2017 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sun Oct 01 03:29:24 2017 -0600"
      },
      "message": "build with 2.12\n\nChange-Id: Ia47aebd4f6e47c273589f59173a37b2528f18fd8\n"
    },
    {
      "commit": "cfe4e63847b1da5f1093b1218f1e4b0c0ed94ce7",
      "tree": "7ed0d3757064ebcca18596cb2b4f082f7ee6ba2b",
      "parents": [
        "1e31bd1a018c7a46d6b25ffa0a34026b994417e3"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Thu Aug 24 11:45:28 2017 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sat Sep 30 10:03:14 2017 -0600"
      },
      "message": "build with 2.11\n\nChange-Id: I422f64db63282a5e9e513e38e0b24216dcd960cf\n"
    },
    {
      "commit": "1e31bd1a018c7a46d6b25ffa0a34026b994417e3",
      "tree": "e6e8af0a51a48c82c6092cee55019e1fe322b388",
      "parents": [
        "ba4721ff7183ee5a61c34fd336ae274f3f474fc8"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Thu Aug 24 11:40:41 2017 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sat Sep 30 09:56:11 2017 -0600"
      },
      "message": "build with 2.9\n\nAlso fix test script bug when the target dir does not exist.\n\nChange-Id: Ic7f74c8b98f90d14c25ef5fe692898ace272429d\n"
    },
    {
      "commit": "ba4721ff7183ee5a61c34fd336ae274f3f474fc8",
      "tree": "50fecc15ef18397c2094745b8ee3785e3560f4b7",
      "parents": [
        "f3c068b679476960349652fb9356d2c68e38ea43"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Wed Mar 08 15:36:00 2017 -0700"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sat Sep 30 15:27:38 2017 +0000"
      },
      "message": "Cache Head/Tail in events FsStore\n\nSince the head and tail are sequences, and sequences can only\nincrease, it is possible to speed up certain comparisons\nby caching the last known value of the sequence.\n\nChange-Id: I16e035152cc23442c9c559ab684359501934ceaf\n"
    },
    {
      "commit": "f3c068b679476960349652fb9356d2c68e38ea43",
      "tree": "8feef357c293f29f0d69ded8b74985edfece85cc",
      "parents": [
        "b6083ac71027bde6a4d0c15040025c1c3acdb0f0"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Mar 03 13:27:46 2017 -0700"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sat Sep 30 15:25:42 2017 +0000"
      },
      "message": "Complete Multi-master safety for the event plugin\n\nUse a new EventSequence to synchronize the event submissions with the\nHead sequence.  This completes the last remaining piece to ensure that\nthe event plugin is multi-master safe.  The fsstore under\nsite_dir\u003e/data/plugin/events/fsstore-2 must reside  on a cluster (likely\nNFS) filesystem in order to share the FsStore among multiple nodes.\n\nChange-Id: I92aa11811f28d5339d56484f5cdd9335795be749\n"
    },
    {
      "commit": "b6083ac71027bde6a4d0c15040025c1c3acdb0f0",
      "tree": "002c90268414e012dcd4077ef0f257ea20ec27ba",
      "parents": [
        "d0ebcbbff4ce6653fe5aca2e22096f8283f02ceb"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Aug 18 14:38:19 2017 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sat Sep 30 15:18:20 2017 +0000"
      },
      "message": "Use a multi-master safes persistent sequence\n\nUse the new FsSequence for both the tail and head making them MM safe.\nThe event storage still needs to be synchronized with the head sequence\nfor it to be MM safe.  This is a big step towards making the store fully\nMM safe.\n\nChange-Id: I95b378c799bdb698d865cf17c6de7709e9a79760\n"
    },
    {
      "commit": "d0ebcbbff4ce6653fe5aca2e22096f8283f02ceb",
      "tree": "978dc6c9a4ae6c7c259634c002687b45e27182ad",
      "parents": [
        "0958d9a3a8816d7b65b3733432ee0712cae4b5d4"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Aug 18 14:35:39 2017 -0600"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sat Sep 30 14:50:16 2017 +0000"
      },
      "message": "Use a multi-master safe persistent store ID\n\nInitialize the FsStore Id with a transaction.  This is a first (little)\nstep towards making the store MM safe.\n\nChange-Id: I3e4f1fac950ad6de43e7ff81e2b13b884d5c3557\n"
    },
    {
      "commit": "0958d9a3a8816d7b65b3733432ee0712cae4b5d4",
      "tree": "90014c6e19886063749221ad6ddb9b74ec8232b8",
      "parents": [
        "d0840ac223cbd9bd4502af27bd0a183d2306cc77"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Wed Feb 15 16:05:55 2017 -0700"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sat Sep 30 14:43:06 2017 +0000"
      },
      "message": "Add a filesystem based persistent events store\n\nThis event store is currently very simplistic, and it is only safe to\nuse from a single node (not multi-master safe) at a time.  It relies on\njava synchronized methods for synchronization which only works within\nthe same process.\n\nThe file system layout of this store is fairly simple, it uses\nindividual files to store the uuid, head, tail, and each event.  The\nevents are sharded in an extensible way that can scale to the full size\nof a java long, with at most 1000 entries per directory.  It is\nenvisioned that a similar layout will eventually be used with additional\ndirectories for transactions in a multi-master safe way.\n\nChange-Id: I73e3a74ddce10ebf956e473d4bce7119c42d79a7\n"
    },
    {
      "commit": "d0840ac223cbd9bd4502af27bd0a183d2306cc77",
      "tree": "65185392176ee7df862edd465a3696ec22b337e4",
      "parents": [
        "84ad4f3f95e626d2a3935fb0566d22ada4cc573d"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Mon Feb 08 12:12:53 2016 -0700"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sat Sep 30 14:40:30 2017 +0000"
      },
      "message": "Add an events TrimCommand\n\nEvents can be trimmed by size, or to a specific event.  The size option\nis useful for cron jobs.\n\nChange-Id: I7eea3b3ecb417012413d79c49df61463fbfaaca2\n"
    },
    {
      "commit": "84ad4f3f95e626d2a3935fb0566d22ada4cc573d",
      "tree": "be4e7edab4c98c91997c6d1cae5c89bbe6273522",
      "parents": [
        "f4ca64f1bbe37c57d36db925cecd4cba2d442487"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Feb 05 11:31:37 2016 -0700"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mogulguy10@gmail.com",
        "time": "Sat Sep 30 08:29:31 2017 -0600"
      },
      "message": "Create an events plugin\n\nAdd a stream command which behaves much like the core stream-events\ncommand except that it can additionally take a --ids switch which add\nevent ids to each event, and a --resume-after switch to start streaming\nevents at an older event.  This plugin captures events in memory, so the\nevents are lost on server restart, and the ids will reset.\n\nChange-Id: I9343d04dd62eed582144a56f0e07342b7972e314\n"
    },
    {
      "commit": "f4ca64f1bbe37c57d36db925cecd4cba2d442487",
      "tree": "1df7dec7e7a1c76ded2d9240976d774c59db3ec2",
      "parents": [],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Feb 05 11:31:37 2016 -0700"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Wed Aug 23 08:09:08 2017 -0600"
      },
      "message": "Initial Events Plugin Commit\n\nChange-Id: Iab0865e8e17699713a6012ecf5c3d61b3b9f500a\n"
    }
  ]
}
