)]}'
{
  "log": [
    {
      "commit": "0877f8e8352b3f182a6f40b1e934fa81a3484c75",
      "tree": "7c96c07f12702d36bff7cbcb6454878a078ce1ad",
      "parents": [
        "9ff4536ba89cdff353edb933436921eb2c5e7dfe"
      ],
      "author": {
        "name": "Eric Pugh",
        "email": "epugh@opensourceconnections.com",
        "time": "Fri Nov 21 11:56:16 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 21 11:56:16 2025 -0500"
      },
      "message": "Add steps pulled out of the PR (#127)\n\n"
    },
    {
      "commit": "9ff4536ba89cdff353edb933436921eb2c5e7dfe",
      "tree": "52ad1bc16b060e02a71c7e0d8f654ccd89602b2b",
      "parents": [
        "22f41cd192b3212ffa2e29cc375fad8d71532dc2"
      ],
      "author": {
        "name": "Eric Pugh",
        "email": "epugh@opensourceconnections.com",
        "time": "Wed Oct 15 08:04:31 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 15 08:04:31 2025 -0400"
      },
      "message": "[GATLING] Add in logback configuration to silence http traffic (#125)\n\n* add in logback configuration to silence http traffic\n\n* Dial back what is filtered.  The DEBUG level is really slowing things down."
    },
    {
      "commit": "22f41cd192b3212ffa2e29cc375fad8d71532dc2",
      "tree": "6418d1e2baa415118e8989f246e78fb12cff04a4",
      "parents": [
        "6eb50a4295dab3ac358211244869e78b01317940"
      ],
      "author": {
        "name": "Jason Gerlowski",
        "email": "gerlowskija@apache.org",
        "time": "Fri Oct 10 08:38:24 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 10 08:38:24 2025 -0400"
      },
      "message": "Add automation for running gatling nightly (#124)\n\nPrimary entrypoint is `run-benchmark-on-commits.sh`, which takes a\nlist of commits (or a \"branch\", \"startCommit\" and \"endCommit\")\nand iterates over them, running Gatling benchmarks on each and storing\nthe results in a data directory.\n\nAlso added is a `periodic-benchmark.sh` script that is a little more suitable\nto run in a cronjob.  It works by recording some state about previous runs,\nallowing the current run to \"remember\" where previous runs left off and\nbenchmark all commits since that point. \n\nA Jenkins integration or something else would obviously be nicer as a long\nterm solution.  That\u0027s probably the \"right\" way to do this sort of recurring\nautomation.\n\nBut providing a simple path for folks to get up and running that doesn\u0027t\ninvolve installing and running Jenkins seems like a nice 80/20 tradeoff\nthat lowers the barrier to entry a good deal.\n\n---------\n\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "6eb50a4295dab3ac358211244869e78b01317940",
      "tree": "5675786c0255805d122d75382db3a685b26290bc",
      "parents": [
        "5f13abcab7c4feed5135127ee9ef578414d786cc"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Wed Oct 08 16:36:58 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 08 16:36:58 2025 +0200"
      },
      "message": "Fix encryption test util flappiness. (#126)\n\n"
    },
    {
      "commit": "5f13abcab7c4feed5135127ee9ef578414d786cc",
      "tree": "dd25228a80005b4b921a3d5568eccf430ff99085",
      "parents": [
        "c1c6a8e8cafcf8cf7ea3bdb5b4e6a81483b55c47"
      ],
      "author": {
        "name": "Jason Gerlowski",
        "email": "gerlowskija@apache.org",
        "time": "Mon Sep 22 20:17:29 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 22 20:17:29 2025 -0400"
      },
      "message": "Add Gatling-based \"macro\" benchmark module (#123)\n\nThe main Solr repository offers a micro-benchmarking module at solr/benchmark,\nbuilt on JMH. Though it\u0027s not always used this way, JMH shines when evaluating\nsmaller chunks of code, or the impact of singular changes. It\u0027s not typically\nintended for running larger benchmarks of many HTTP requests, or tracking\nlongitudinal performance drift over time.\n\nThis commit introduces a benchmarking integration to tackle these larger\n\"macro\" questions. It consists of two Gradle modules:\n\n- gatling-data-prep - utilities for downloading and prepping the datasets needed\nfor perf tests gatling-simulations - the Gatling performance tests (i.e.\n\"simulations\" in Gatling terminology) themselves. Currently consists of a\nsingle configurable simulation that indexes Wikipedia documents into Solr.\n- gatling-simulations - the Gatling performance tests (i.e. \"simulations\" in\nGatling terminology) themselves. Currently consists of a single configurable\nsimulation that indexes Wikipedia documents into Solr.\n\n---------\n\nCo-authored-by: David Smiley \u003cdsmiley@apache.org\u003e"
    },
    {
      "commit": "c1c6a8e8cafcf8cf7ea3bdb5b4e6a81483b55c47",
      "tree": "9f46f350090b963cc0733cc9e900bb470792434f",
      "parents": [
        "526638363c43f323b2c89f76a58fff445c5e8e30"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Tue Aug 12 12:17:14 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 12 12:17:14 2025 +0200"
      },
      "message": "Add tests for EncryptionRequestHandler request params. (#122)\n\n"
    },
    {
      "commit": "526638363c43f323b2c89f76a58fff445c5e8e30",
      "tree": "3a43da05f800d5b730e819bd6cb01bc6dcdd5269",
      "parents": [
        "3d6d404fe4d03bb92bbf0b286b32940109d84502"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Tue Aug 05 16:07:41 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 05 16:07:41 2025 +0200"
      },
      "message": "Refactor EncryptionRequestHandler to split large methods. (#120)\n\n"
    },
    {
      "commit": "3d6d404fe4d03bb92bbf0b286b32940109d84502",
      "tree": "1ea7db8a39b1420777eb40ac8bf42dcb2c50ced0",
      "parents": [
        "e5cce7ea14281b6372917d28f2a4f7b09534865d"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Aug 04 18:29:09 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 04 18:29:09 2025 +0200"
      },
      "message": "Update ENCRYPTION.md for the distrib\u003dtrue param. (#121)\n\n"
    },
    {
      "commit": "e5cce7ea14281b6372917d28f2a4f7b09534865d",
      "tree": "743b58acbe7b54ef3797ab8edde251f37ee18916",
      "parents": [
        "cbe6cde19a67227316b0b1fd78e203437caac3d4"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Aug 04 15:41:56 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 04 15:41:56 2025 +0200"
      },
      "message": "Support follower replicas fetching encrypted index files. (#116)\n\n"
    },
    {
      "commit": "cbe6cde19a67227316b0b1fd78e203437caac3d4",
      "tree": "e24f96268e8e502369495ca38fccfb74baba9925",
      "parents": [
        "14558acdbf842d4889d8edd4a6211f9b9de65c90"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Thu Jul 17 09:40:52 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 17 09:40:52 2025 +0200"
      },
      "message": "Add missing Thread.interrupt() call. (#119)\n\n"
    },
    {
      "commit": "14558acdbf842d4889d8edd4a6211f9b9de65c90",
      "tree": "7f1c7931f2e3f72716f9a5691377d83eaeb8e44c",
      "parents": [
        "02906765861e37a558b541cd6f4759fd51e2dd46"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Tue Jun 17 13:42:16 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 17 13:42:16 2025 +0200"
      },
      "message": "Add additional EncryptionMergePolicyTest. (#118)\n\n"
    },
    {
      "commit": "02906765861e37a558b541cd6f4759fd51e2dd46",
      "tree": "9ce96f0b498036e5826633fcdab1cc6ae8b1fb3b",
      "parents": [
        "eea176d2fd4034f2a4ead058a226ec149559186d"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon May 19 10:53:37 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 19 10:53:37 2025 +0200"
      },
      "message": "Encryption IndexInput and IndexOutput can be unwrapped. More doc about IV construction. (#117)\n\n"
    },
    {
      "commit": "eea176d2fd4034f2a4ead058a226ec149559186d",
      "tree": "7c060e8b44cd0fae4b98c19f1297a2e22fc2fc67",
      "parents": [
        "cdeda0dadb19d269e5854aaa1502f660ae53b5ed"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Wed Feb 12 17:19:04 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 12 17:19:04 2025 +0100"
      },
      "message": "Transfer encryption commit metadata when nodes restart before the commit. (#113)\n\n"
    },
    {
      "commit": "cdeda0dadb19d269e5854aaa1502f660ae53b5ed",
      "tree": "8cd53765a3f3cc12f1d9819b111688215bb510e5",
      "parents": [
        "4e1819ff8a3758becca19bf337ecd1b352dba805"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Feb 10 09:42:34 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 10 09:42:34 2025 +0100"
      },
      "message": "EncryptionRequestHandler supports encryption requests distribution. (#115)\n\n"
    },
    {
      "commit": "4e1819ff8a3758becca19bf337ecd1b352dba805",
      "tree": "40e98d369206e018b6457127ef2fbdebb22d0b1b",
      "parents": [
        "8171c954d7fe479eb841c13dabbc72e5605eda13"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Fri Nov 22 15:12:06 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 22 15:12:06 2024 +0100"
      },
      "message": "Support concurrency when reading transaction log encryption header. (#112)\n\n"
    },
    {
      "commit": "8171c954d7fe479eb841c13dabbc72e5605eda13",
      "tree": "f7ca5311daac3728edb3b4ebb39f03f9fd79a416",
      "parents": [
        "b3778486c5073e122fe4aa6c7710528701d965fc"
      ],
      "author": {
        "name": "Jason Gerlowski",
        "email": "gerlowskija@apache.org",
        "time": "Tue Sep 24 07:41:40 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 24 10:41:40 2024 -0400"
      },
      "message": "Add scripts to fetch+prepare solr-community data (#111)\n\nOne common barrier to running performance tests is the lack of a dataset\r\nthat\u0027s ready to be indexed into Solr.  Wikipedia dumps and other public\r\ndata is common, but there\u0027s work needed to massage them into a format\r\nthat\u0027s ready for Solr to index.\r\n\r\nThis commit partially addresses this problem by introducing scripts that\r\ndownload a particular dataset and prepare it for indexing into Solr.\r\nHopefully this eliminates at least one of the hurdles in getting a quick\r\nperf test running.  Selfishly, it\u0027s also useful for gathering stats often\r\nneeded by ASF Quarterly Board Reports.\r\n\r\nThe dataset is comprised of the public interactions in our community.\r\nRight now this covers interactions on our mailing lists, and data pulled\r\nfrom Solr\u0027s git-log.  Hopefully in the future it can be supplemented\r\nwith data pulled from JIRA as well.  See\r\n`scripts/community-dataset/README.md` for more details on the dataset\r\nand how to use the provided scripts."
    },
    {
      "commit": "b3778486c5073e122fe4aa6c7710528701d965fc",
      "tree": "0db42899bc2dd5cb3428fee053248fe32f0fec01",
      "parents": [
        "a7a07cb4042bf0c1581c2b3723009b8c8d96494f"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Jul 01 15:29:42 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 01 15:29:42 2024 +0200"
      },
      "message": "Add KmsKeySupplier that calls a KmsClient to decrypt encryption keys. (#108)\n\n"
    },
    {
      "commit": "a7a07cb4042bf0c1581c2b3723009b8c8d96494f",
      "tree": "d4e78a89aae902413bb3e7bdcbfb233c014c8de9",
      "parents": [
        "5982f75fba6460a03a89e9ff7d6f6f54948289e6"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Tue May 14 11:29:05 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 14 11:29:05 2024 +0200"
      },
      "message": "Update ENCRYPTION.md to describe EncryptionBackupRepository. (#107)\n\n"
    },
    {
      "commit": "5982f75fba6460a03a89e9ff7d6f6f54948289e6",
      "tree": "f66c986642c40c1f99c2bafe93353c56cd984479",
      "parents": [
        "34642845ea195c15fef5ed0108a343de7f2fd67d"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon May 13 11:59:24 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 13 11:59:24 2024 +0200"
      },
      "message": "Fix EncryptionUpdateLog.encryptLog() and its test. (#105)\n\n"
    },
    {
      "commit": "34642845ea195c15fef5ed0108a343de7f2fd67d",
      "tree": "a5a5648fee5057c652a994ba0548a7ebd2391109",
      "parents": [
        "16bb050cd55561aba0c209eada834a66224dfda4"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon May 13 11:58:11 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 13 11:58:11 2024 +0200"
      },
      "message": "EncryptionBackupRepository to back up encrypted files. (#106)\n\n"
    },
    {
      "commit": "16bb050cd55561aba0c209eada834a66224dfda4",
      "tree": "9ff175d32d043d02984ebaf8ae05b683dd8943aa",
      "parents": [
        "1de1ce559338ae111e5c7de8fc83b01b2b7c3cd1"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Fri May 03 12:21:59 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 03 12:21:59 2024 +0200"
      },
      "message": "Remove encryption log prefix. (#104)\n\n"
    },
    {
      "commit": "1de1ce559338ae111e5c7de8fc83b01b2b7c3cd1",
      "tree": "3f8a8c2e03078a112bea23b83800c6ad51d13820",
      "parents": [
        "130ba536c58f94bf8be15fabe903c36aa5089979"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Fri Apr 26 16:04:54 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 26 16:04:54 2024 +0200"
      },
      "message": "Shard split supports encryption. (#103)\n\n"
    },
    {
      "commit": "130ba536c58f94bf8be15fabe903c36aa5089979",
      "tree": "1169c3f3ca4e6c42d27af806948fc3b11fb7459c",
      "parents": [
        "6e0d0a4a2f4c5acf8b304c6361d3b7248ff9f328"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Thu Mar 28 17:41:58 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 28 17:41:58 2024 +0100"
      },
      "message": "Remove EncryptionDirectory.shouldCheckEncryptionWhenReading optimization. (#102)\n\n"
    },
    {
      "commit": "6e0d0a4a2f4c5acf8b304c6361d3b7248ff9f328",
      "tree": "258d9d250a92f16a032204ef646c9a1f4dd683db",
      "parents": [
        "50b8f9bf740cba4161dd7e0d01edba9677bb5769"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Tue Mar 12 16:06:13 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 12 16:06:13 2024 +0100"
      },
      "message": "Update to Solr 9. (#100)\n\n"
    },
    {
      "commit": "50b8f9bf740cba4161dd7e0d01edba9677bb5769",
      "tree": "3d955d25c2f86d75ff7bc5e4bc380eedaf4fb6a7",
      "parents": [
        "0f6504befeabaf916702d67ee06f5942fb99fd56"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Wed Jan 24 14:52:45 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 24 14:52:45 2024 +0100"
      },
      "message": "Refactor EncryptionRequestHandlerTest and update encryption.md about jdk 17. (#99)\n\n"
    },
    {
      "commit": "0f6504befeabaf916702d67ee06f5942fb99fd56",
      "tree": "55cf25e72ba86d600894a5172e9b397cc251207b",
      "parents": [
        "1cd9a8dd2b5b8dbdbcb3e11e538cf0c906e8fc75"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Mon Dec 18 14:04:05 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 18 14:04:05 2023 +0100"
      },
      "message": "Add config \u0026 logic to control how updates are collapsed in the Consumer. (#97)\n\n* Set PARTIAL as the default."
    },
    {
      "commit": "1cd9a8dd2b5b8dbdbcb3e11e538cf0c906e8fc75",
      "tree": "61b7615ed89f0082ec73daf203c7a9d879fafc94",
      "parents": [
        "195192017369a8c4468f34af215f717b7617dbf8"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Tue Dec 05 10:56:46 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 05 10:56:46 2023 +0100"
      },
      "message": "Add endpoint to expose consumer metrics. (#94)\n\n"
    },
    {
      "commit": "195192017369a8c4468f34af215f717b7617dbf8",
      "tree": "c1b0c8109f86810ead46073d1cfe0404e12e18e1",
      "parents": [
        "ef11a8581fa7b877b964f79693632ac24e9bf399"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Dec 04 17:57:55 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 04 17:57:55 2023 +0100"
      },
      "message": "Encrypt handler calls EncryptionUpdateLog to reencrypt logs. Rewrite the test. (#96)\n\n"
    },
    {
      "commit": "ef11a8581fa7b877b964f79693632ac24e9bf399",
      "tree": "fd971bc9fe8e00b07ed2d29ea1e2fa16910e698a",
      "parents": [
        "47e941aaf61ba73e95294027392913e517c931ed"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Tue Nov 28 13:34:49 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 28 13:34:49 2023 +0100"
      },
      "message": "Add support for optional DBQ expansion. (#91)\n\n"
    },
    {
      "commit": "47e941aaf61ba73e95294027392913e517c931ed",
      "tree": "87af8b6f3e131440901ee85df556f02f8c79a7ad",
      "parents": [
        "5ccd46e300c51feabf8a0615eb95b6af2c207556"
      ],
      "author": {
        "name": "Marcin Górski",
        "email": "marcinxgorski@gmail.com",
        "time": "Mon Nov 27 12:41:51 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 27 12:41:51 2023 +0100"
      },
      "message": "Producer metrics (#87)\n\n"
    },
    {
      "commit": "5ccd46e300c51feabf8a0615eb95b6af2c207556",
      "tree": "e8ae05ad00b6349b3ffa7b30ed6e253afba0561f",
      "parents": [
        "2760bfb4a02a6969c5ea46e01799c117dcc1cfc6"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Wed Nov 22 09:39:06 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 22 09:39:06 2023 +0100"
      },
      "message": "Remove useless system properties cleanup in encryption tests. (#92)\n\n"
    },
    {
      "commit": "2760bfb4a02a6969c5ea46e01799c117dcc1cfc6",
      "tree": "86f0795c500b40b1ec5726d82b41c492f98e7768",
      "parents": [
        "081edd547fe13222f008733fca4c352fbab8596c"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Mon Nov 20 11:40:06 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 20 11:40:06 2023 +0100"
      },
      "message": "Increase MAX_ATTEMPTS for this test, to avoid sending messages to DLQ. Fix slf4j binding issue. (#90)\n\n"
    },
    {
      "commit": "081edd547fe13222f008733fca4c352fbab8596c",
      "tree": "fff2c1cc9028d6227ca506007acebba13263b662",
      "parents": [
        "03774606768d306897893b664ee9e649a5d76419"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Fri Nov 17 11:31:38 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 17 11:31:38 2023 +0100"
      },
      "message": "Upgrade Kafka to version 3.5.1. (#85)\n\n"
    },
    {
      "commit": "03774606768d306897893b664ee9e649a5d76419",
      "tree": "d88e8dc22d61dc31586717e378c8d54f5f2bed38",
      "parents": [
        "9baea9c15caabe8d1dc4fe128f7b9494ff03a29d"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Thu Nov 16 13:48:06 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 16 13:48:06 2023 +0100"
      },
      "message": "Fix KafkaCrossDcConsumer NPE, add unit test. (#88)\n\n"
    },
    {
      "commit": "9baea9c15caabe8d1dc4fe128f7b9494ff03a29d",
      "tree": "8e848585ada282a8b2b9880f8023d619a5fc064c",
      "parents": [
        "c816e78f7e44b42f1bffe047b65e2c7f9b61d276"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Nov 13 14:40:58 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 13 14:40:58 2023 +0100"
      },
      "message": "Encryption classes use arrays instead of ByteBuffers. (#86)\n\n"
    },
    {
      "commit": "c816e78f7e44b42f1bffe047b65e2c7f9b61d276",
      "tree": "618a766ab03d777b0fff327c3d1d4f072711abcb",
      "parents": [
        "2f923d42b9de9f8363e7d670e254fe9b935d5c32"
      ],
      "author": {
        "name": "Marcin Górski",
        "email": "marcinxgorski@gmail.com",
        "time": "Mon Nov 13 13:50:16 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 13 13:50:16 2023 +0100"
      },
      "message": "Dead letter queue fix (#82)\n\nCo-authored-by: marcingorski \u003cmarcin.gorski@lucidworks.com\u003e"
    },
    {
      "commit": "2f923d42b9de9f8363e7d670e254fe9b935d5c32",
      "tree": "8b1578522b3607d71c26b2bf57c6016ff9605110",
      "parents": [
        "5e89f6e7b59306af0e2c28868d2ab1f05f263cb9"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Nov 13 12:35:30 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 13 12:35:30 2023 +0100"
      },
      "message": "Encryption KeySupplier extends Closeable. (#84)\n\n"
    },
    {
      "commit": "5e89f6e7b59306af0e2c28868d2ab1f05f263cb9",
      "tree": "206c25c34b0dae20b308e77950593825b4cebd59",
      "parents": [
        "9575cd04018aecd18e269f7a61fd8178f436e4a2"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Nov 13 12:24:06 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 13 12:24:06 2023 +0100"
      },
      "message": "Improve encryption tests to run on multiple hosts and shards. (#83)\n\n"
    },
    {
      "commit": "9575cd04018aecd18e269f7a61fd8178f436e4a2",
      "tree": "2ac7eec2d83ece015b05c586934f896aa5d64b48",
      "parents": [
        "ebf735f69676e773a5c86dfe5fdca79b637fd7d0"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Mon Nov 06 14:40:54 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 06 14:40:54 2023 +0100"
      },
      "message": "Fix missing support for other request types. (#81)\n\n"
    },
    {
      "commit": "ebf735f69676e773a5c86dfe5fdca79b637fd7d0",
      "tree": "4f588c0661403d5e980f5fa4717c09b20f5ca686",
      "parents": [
        "7951d4193a9d2719a03c9a54817adf033654eb8f"
      ],
      "author": {
        "name": "Marcin Górski",
        "email": "marcinxgorski@gmail.com",
        "time": "Mon Oct 30 10:14:39 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 30 10:14:39 2023 +0100"
      },
      "message": "KafkaCrossDcConsumerTest fix (#80)\n\n"
    },
    {
      "commit": "7951d4193a9d2719a03c9a54817adf033654eb8f",
      "tree": "7fac376b8169fd3ed663c33e72928170b2a96885",
      "parents": [
        "e978a7a4c1349cfcd6511663a2b895b0e972c921"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Fri Oct 20 16:51:49 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 20 16:51:49 2023 +0200"
      },
      "message": "Update the CrossDC documentation. (#78)\n\n"
    },
    {
      "commit": "e978a7a4c1349cfcd6511663a2b895b0e972c921",
      "tree": "cd934e233fad263302fa879e9169ca97c76558c6",
      "parents": [
        "e0193cf666c70f3358256c0b2979c636cb90bf09"
      ],
      "author": {
        "name": "Jason Gerlowski",
        "email": "gerlowskija@apache.org",
        "time": "Thu Oct 19 14:52:59 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 19 14:52:59 2023 -0400"
      },
      "message": "Ignore producer URP (if disabled) in standalone mode (#79)\n\nXDC really only makes sense in a SolrCloud context.  But all the same,\r\nits nice to handle MirroringUpdateRequestProcessorFactory more\r\ngracefully if someone does accidentally configure their standalone core\r\nto use the XDC producer URP.\r\n\r\nThis commit tweaks MirroringUpdateRequestProcessorFactory\u0027s\r\ninitialization so that in standalone mode it emits a warning about the\r\nmisconfiguration if disabled, and fails core init/load entirely if the\r\nMirroring URP is \u0027enabled\u003dtrue\u0027."
    },
    {
      "commit": "e0193cf666c70f3358256c0b2979c636cb90bf09",
      "tree": "f12a46234dd811246835cd27d295441c0ac69e42",
      "parents": [
        "713d634718db5a2a8548a4ce9064b884e70dd8c9"
      ],
      "author": {
        "name": "Marcin Górski",
        "email": "marcinxgorski@gmail.com",
        "time": "Tue Oct 17 11:18:50 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 17 11:18:50 2023 +0200"
      },
      "message": "Add dead letter queue functionality on the producer and consumer side (#70)\n\n"
    },
    {
      "commit": "713d634718db5a2a8548a4ce9064b884e70dd8c9",
      "tree": "674f30be0050d5f0df3b9776592db37b9e1ad2b6",
      "parents": [
        "66d2a8226e6e75c998cea1a22a37497ee8936c29"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Tue Oct 17 10:25:27 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 17 10:25:27 2023 +0200"
      },
      "message": "Add support for mirroring ConfigSet requests. (#69)\n\n"
    },
    {
      "commit": "66d2a8226e6e75c998cea1a22a37497ee8936c29",
      "tree": "4686c69210670476bdcdebe0bd035db60c2d4d63",
      "parents": [
        "a431554cbd1be7aa36dbf1dbe0913c9b42593adf"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Mon Oct 16 14:08:18 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 16 14:08:18 2023 +0200"
      },
      "message": "Add support for mirroring plain commit requests. (#74)\n\n* Add a config knob to turn on commit mirroring (default is off)."
    },
    {
      "commit": "a431554cbd1be7aa36dbf1dbe0913c9b42593adf",
      "tree": "71bfa41b7d0c38375afec22db33c78e562e1f91a",
      "parents": [
        "fe86764adfdc465dc0d1a9b54576320f3b18c478"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Fri Oct 13 19:15:09 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 13 19:15:09 2023 +0200"
      },
      "message": "Refactor how the encryption key cookie is built. Reword ENCRYPTION.md. (#77)\n\n"
    },
    {
      "commit": "fe86764adfdc465dc0d1a9b54576320f3b18c478",
      "tree": "2107b664e4c89888b944ec86de5b63882437456e",
      "parents": [
        "feecdb7afb6d582a3d3d6c5ec8d3f1c93eb17c02"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@apache.org",
        "time": "Fri Oct 13 14:37:42 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 13 14:37:42 2023 +0200"
      },
      "message": "Add support for mirroring Collection Admin commands. (#68)\n\n"
    },
    {
      "commit": "feecdb7afb6d582a3d3d6c5ec8d3f1c93eb17c02",
      "tree": "0e86eb837eedcfd35691b8a3842ef3e91c5675ab",
      "parents": [
        "a760a4caa266a21460d5976a05242dc756867ab3"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Fri Oct 13 11:32:34 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 13 11:32:34 2023 +0200"
      },
      "message": "Support update logs encryption and re-encryption. (#76)\n\n"
    },
    {
      "commit": "a760a4caa266a21460d5976a05242dc756867ab3",
      "tree": "babf3beeead65c6d774676f4742a3b7babcdd062",
      "parents": [
        "35fc2c2241d8e3836622fecb08d5729cfdf89970"
      ],
      "author": {
        "name": "Andrzej Białecki",
        "email": "ab@sigram.com",
        "time": "Thu Oct 12 08:24:10 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 12 01:24:10 2023 -0500"
      },
      "message": "Add serialization unit test. (#66)\n\n"
    },
    {
      "commit": "35fc2c2241d8e3836622fecb08d5729cfdf89970",
      "tree": "9eb7a0c3378c7feed19d2a8a8a95fe5dd81d38d2",
      "parents": [
        "7d7f59eb7732383bb2c081091f259d1eb1902ac7"
      ],
      "author": {
        "name": "Mark Robert Miller",
        "email": "markrmiller@apache.org",
        "time": "Tue Oct 03 17:11:56 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 03 17:11:56 2023 -0500"
      },
      "message": "Add the requet back to the queue on fail, not just the last record. (#75)\n\n"
    },
    {
      "commit": "7d7f59eb7732383bb2c081091f259d1eb1902ac7",
      "tree": "274c61edb377f5198205f45d516967027f7a811b",
      "parents": [
        "fc865c133f7553171a67b7369907cf1519ddd787"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Sep 18 10:22:40 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 18 10:22:40 2023 +0200"
      },
      "message": "Change EncryptionRequestHandler perm to CORE_EDIT_PERM. (#72)\n\n"
    },
    {
      "commit": "fc865c133f7553171a67b7369907cf1519ddd787",
      "tree": "25d932cb9ace8833257b3856470bf8b6f76dbc67",
      "parents": [
        "92cabca3d49bee155a392dd23415579d5369392e"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Sep 18 10:03:48 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 18 10:03:48 2023 +0200"
      },
      "message": "Add CharStreamEncrypter. (#71)\n\n"
    },
    {
      "commit": "92cabca3d49bee155a392dd23415579d5369392e",
      "tree": "a7f51f103eec6f1400bb4bed8be29133a1053bd2",
      "parents": [
        "55aa6fa8c90e0c550c2485dba787245b6c94adba"
      ],
      "author": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Thu Sep 07 15:18:29 2023 -0500"
      },
      "committer": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Thu Sep 07 15:18:29 2023 -0500"
      },
      "message": "Fix race where update batches on consumer could cause polling loop to exit due to hitting Kafka\u0027s aggressive multi-threaded prevention.\n"
    },
    {
      "commit": "55aa6fa8c90e0c550c2485dba787245b6c94adba",
      "tree": "4a081a35bfc6581ea03140076b9c41eb217befa8",
      "parents": [
        "9ea4e996eedb3bde637b17aad5f0214dcd1d8bd7"
      ],
      "author": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Thu Aug 31 11:24:43 2023 -0500"
      },
      "committer": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Thu Aug 31 11:50:50 2023 -0500"
      },
      "message": "Use a second executor for offset updates.\n"
    },
    {
      "commit": "9ea4e996eedb3bde637b17aad5f0214dcd1d8bd7",
      "tree": "2786926aad510f3ae901bedbbe8c64ad81f3a2d6",
      "parents": [
        "ec350a9f0b9d4d1828ef1336f14cf096aa80dc54"
      ],
      "author": {
        "name": "Jason Gerlowski",
        "email": "gerlowskija@apache.org",
        "time": "Fri Aug 25 15:50:35 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 25 15:50:35 2023 -0400"
      },
      "message": "Add \u0027collection\u0027 MDC to more producer logs (#57)\n\n"
    },
    {
      "commit": "ec350a9f0b9d4d1828ef1336f14cf096aa80dc54",
      "tree": "b77cefde77c3dc60c053fbc7fcc513cafef175ef",
      "parents": [
        "bb18cca7178d22714a2338a8ee940e5e31526388"
      ],
      "author": {
        "name": "Mark Robert Miller",
        "email": "markrmiller@apache.org",
        "time": "Thu Aug 24 16:57:20 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 24 16:57:20 2023 -0500"
      },
      "message": "Allow using collection properties to configure crossdc updatehandler. (#65)\n\n"
    },
    {
      "commit": "bb18cca7178d22714a2338a8ee940e5e31526388",
      "tree": "8d285a0299d04ef76ff28b8f5a941e3091e4820c",
      "parents": [
        "9163b31d82e3d4df2b7f7c3d7e735ff44b8c7d49"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Aug 14 11:25:22 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 14 11:25:22 2023 +0200"
      },
      "message": "Cleanup EncryptionUpdateHandler by upgrading to solr-core:9.3.0. (#64)\n\n"
    },
    {
      "commit": "9163b31d82e3d4df2b7f7c3d7e735ff44b8c7d49",
      "tree": "44827d0b766e635d908a88743f3c7f1f53bbbc67",
      "parents": [
        "45f7455cce863955f94e8988d1d5feaf9d6bd311"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Aug 14 10:57:55 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 14 10:57:55 2023 +0200"
      },
      "message": "Fix EncryptionMergePolicy to reencrypt each segment separately. (#63)\n\n"
    },
    {
      "commit": "45f7455cce863955f94e8988d1d5feaf9d6bd311",
      "tree": "47033e4285cf02e563900266056fee958800d7b2",
      "parents": [
        "50ec3c20c70c200d80a6e9137ab71b716367051a"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Mon Aug 14 10:13:47 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 14 10:13:47 2023 +0200"
      },
      "message": "Encryption KeySupplier supports params to get the key cookie. (#60)\n\n"
    },
    {
      "commit": "50ec3c20c70c200d80a6e9137ab71b716367051a",
      "tree": "0ed199cd6fd2ca0b7969eff44be66c2d3f8004ac",
      "parents": [
        "b2d610633812f73a15f25fef16edac6b564a0020"
      ],
      "author": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Fri Aug 11 14:34:28 2023 -0500"
      },
      "committer": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Fri Aug 11 14:34:28 2023 -0500"
      },
      "message": "Producer uses first topic name if it\u0027s a list\n\n"
    },
    {
      "commit": "b2d610633812f73a15f25fef16edac6b564a0020",
      "tree": "73e8bb74dfb17662a5da8498497cc0b323fd1d39",
      "parents": [
        "9dbcbffec3f9effaa7434b80c1043fbd310996b4"
      ],
      "author": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Fri Aug 11 14:28:11 2023 -0500"
      },
      "committer": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Fri Aug 11 14:28:11 2023 -0500"
      },
      "message": "Revert some config defaults to Kafka defaults.\n\n"
    },
    {
      "commit": "9dbcbffec3f9effaa7434b80c1043fbd310996b4",
      "tree": "920c77fe911e89a3dd5e98c47d07be602dfe8ddc",
      "parents": [
        "881bf2dad29791bb3aeb6c92e6bd8db89d5c914f"
      ],
      "author": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Fri Aug 11 14:19:36 2023 -0500"
      },
      "committer": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Fri Aug 11 14:19:36 2023 -0500"
      },
      "message": "Apply request timeout for kafka to consumer as well. (#62)\n\n"
    },
    {
      "commit": "881bf2dad29791bb3aeb6c92e6bd8db89d5c914f",
      "tree": "327f183ccb146f63daaecd4f99c4c5862f55ba33",
      "parents": [
        "03dd3c04cd5b9f5ea93ae06518d740a0a00334aa"
      ],
      "author": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Fri Aug 11 14:17:18 2023 -0500"
      },
      "committer": {
        "name": "markrmiller",
        "email": "markrmiller@apache.org",
        "time": "Fri Aug 11 14:17:18 2023 -0500"
      },
      "message": "Update some logging, add a couple kafka consumer config options.\n\n"
    },
    {
      "commit": "03dd3c04cd5b9f5ea93ae06518d740a0a00334aa",
      "tree": "eef7e64f0931d951a9e94f6b6e7bc983534599c2",
      "parents": [
        "5238ca6a0d15dd048608089be5eda66d8d9bc4a0"
      ],
      "author": {
        "name": "Mark Robert Miller",
        "email": "markrmiller@apache.org",
        "time": "Fri Aug 11 13:50:34 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 11 13:50:34 2023 -0500"
      },
      "message": "Fix a non working config option, update docs. (#58)\n\n"
    },
    {
      "commit": "5238ca6a0d15dd048608089be5eda66d8d9bc4a0",
      "tree": "0cd20a868c418bae2f559a84adddf94a8cac1cb1",
      "parents": [
        "7b53bb373bb662ad956def624e52866cebd4e3cd"
      ],
      "author": {
        "name": "Mark Robert Miller",
        "email": "markrmiller@apache.org",
        "time": "Wed May 10 14:04:49 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 10 14:04:49 2023 -0500"
      },
      "message": "Some refactoring, a bunch of simple mock tests, test fixes \u0026 improvements, dep updates and fixes, rework offset management.. (#56)\n\n* Some refactoring, a bunch of simple mock tests, test fixes \u0026 improvements, dep updates and fixes, rework offset managment..\r\n\r\n* Version bump."
    },
    {
      "commit": "7b53bb373bb662ad956def624e52866cebd4e3cd",
      "tree": "476d6a76294a17f89c3fd8c7f3eb4f2e03c5a6c7",
      "parents": [
        "8754d0d82836f8bb76f61a72e2eb84ed1ffcd34c"
      ],
      "author": {
        "name": "Mark Robert Miller",
        "email": "markrmiller@apache.org",
        "time": "Wed Apr 12 14:10:38 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 14:10:38 2023 -0500"
      },
      "message": "Increment versions. (#55)\n\n"
    },
    {
      "commit": "8754d0d82836f8bb76f61a72e2eb84ed1ffcd34c",
      "tree": "4c00528fba657d67fba236e0c2e729e3680c173d",
      "parents": [
        "5bb18df43fbab85043dd9b9b30319a4073ccffca"
      ],
      "author": {
        "name": "Mark Robert Miller",
        "email": "markrmiller@apache.org",
        "time": "Wed Apr 12 13:54:26 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 13:54:26 2023 -0500"
      },
      "message": "Fix up test. (#54)\n\n"
    },
    {
      "commit": "5bb18df43fbab85043dd9b9b30319a4073ccffca",
      "tree": "c25cc2a2c3c52b8d82985c6729d197b351adc95b",
      "parents": [
        "0a59838ce9326f016237004dc02da7b8640e43f2"
      ],
      "author": {
        "name": "Mark Robert Miller",
        "email": "markrmiller@apache.org",
        "time": "Mon Apr 10 16:13:05 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 16:13:05 2023 -0500"
      },
      "message": "Move batching from solr+kafka to just kafka. (#53)\n\n* Move batching from solr+kafka to just kafka.\r\nMake consumer multi-threaded.\r\nFix flakey tests.\r\nAllow multiple collections to use the same topic on the same consumer.\r\nConsumer can subscribe to multiple topics.\r\nDefault to a hard fail for the client when update is too large for Kafka queue.\r\n\r\n* Few minor updates.\r\n\r\n* Add 22 to absolutely ensure unique id."
    },
    {
      "commit": "0a59838ce9326f016237004dc02da7b8640e43f2",
      "tree": "f58e3383d2def10e207145bf54e5dc1b184d3ddd",
      "parents": [
        "e68c00beeaa70902000d7bc947f9bcda448aa0d8"
      ],
      "author": {
        "name": "Bruno Roustant",
        "email": "33934988+bruno-roustant@users.noreply.github.com",
        "time": "Fri Mar 24 15:30:42 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 24 15:30:42 2023 +0100"
      },
      "message": "Add encryption module.\n\n"
    },
    {
      "commit": "e68c00beeaa70902000d7bc947f9bcda448aa0d8",
      "tree": "29a682bcefd904771e62e09e41c1340cbc2a2c45",
      "parents": [
        "86743b8ca5ea174a44d65a3ba6117881eedbe222"
      ],
      "author": {
        "name": "Mark Robert Miller",
        "email": "markrmiller@apache.org",
        "time": "Wed Nov 16 00:09:30 2022 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 16 00:09:30 2022 -0600"
      },
      "message": "Merge crossdc-wip into main. (#50)\n\n* WIP for Cross DC consumer  (#5)\r\n\r\n* CrossDc Consumer wip\r\n\r\n* Temp commit\r\n\r\n* wip commit\r\n\r\n* Draft commit, cleanup code\r\n\r\n* WIP commit\r\n\r\n* Fix tests, WIP commit\r\n\r\n* Refactor MessageProcessor and some cleanup.\r\n\r\nCo-authored-by: Anshum Gupta \u003canshum@apache.org\u003e\r\n\r\n* Support for integration tests with SolrCloud. (#6)\r\n\r\nI\u0027ve had a few little issues that I\u0027ve been chasing, so to get something in, I pulled out kafka and some other items and setup a minimal set of changes to use SolrCloud in tests and I have a simple test that runs the same messsage processor test but with a real cloud instance instead of a mock. Hang on a moment and I\u0027ll get kafka and the rest back in.\r\n\r\n* Add back in the EmbeddedKafkaCluster. (#7)\r\n\r\n* WIP for UpdateRequestProcessor and other producer related files (#8)\r\n\r\n* IntegrationTest WIP (#9)\r\n\r\n* Fix a compile error, add solr-core as a dependency as the URP requires it (#10)\r\n\r\n* Move cross dc producer code into separate module (#11)\r\n\r\n* Move cross dc producer code into a separate module\r\n\r\n* Fix package name in javadocs\r\n\r\n* Create a commons module for crossdc (#12)\r\n\r\n* Integration tests for cross dc consumer with SolrCloud (#14)\r\n\r\n* Support for integration tests with SolrCloud.\r\n* Add back in the EmbeddedKafkaCluster.\r\n\r\n* Working out remaining issues via manual testing. (#15)\r\n\r\n* Tie up\r\n\r\n* Fix a variety of issues.\r\n\r\n* Work out SolrAndKafkaIntegrationTest (#16)\r\n\r\nEach of the 2 tests still needs to be run separately - need to fix up running both in same run.\r\n\r\n* Test Passing (#17)\r\n\r\n* Producer only needs one of the many runtime dependencies. (#18)\r\n\r\n* Experiment with Producer in crossdc package. (#19)\r\n\r\n* Simplify build artifacts. (#20)\r\n\r\n* Revert \"Experiment with Producer in crossdc package. (#19)\"\r\n\r\nThis reverts commit 9007aa6b8d51384ab5f146ebdce013633bae4660.\r\n\r\n* Simplify build artifacts and allow for future shading if necessary with commons and producer only creating a single uber jar artifact.\r\n\r\n* Allow central config from ZK and build updates. (#21)\r\n\r\n* Docs and enable flag. (#22)\r\n\r\n* Add explicit error logging around CrossDC config. (#23)\r\n\r\n* Work around access limitations (what you can do here seems to vary by Java version) (#24)\r\n\r\n* Fix startup checks (#26)\r\n\r\nThis change corrects the `if` statements in the consumer start, so that it\r\nactually checks the config being passed.\r\n\r\nPreviously it just checked the `bootstrapServers` three times.\r\n\r\n* KafkaCrossDcConf: Add a human readable toString (#27)\r\n\r\nThis change adds a human readable `toString` function to `KafkaCrossDcConf`.\r\n\r\n* Update Solr version, build improvement for some envs, include missing solrj dep (#28)\r\n\r\n* Cleanup some of the testing issues. (#25)\r\n\r\n* Consumer: Add initial metrics (#29)\r\n\r\nThis change adds initial support for Dropwizard Metrics to the Consumer.\r\nWith this we could allow users to send metrics to a number of reporting\r\nbackends.\r\n\r\n* Inefficient DBQ (#31)\r\n\r\n* Finish setting up the retry queue based on existing implementation. (#30)\r\n\r\n* Reindex Test, cover a few more test cases, additional config options. (#32)\r\n\r\n* Reindex Test, cover a few more test cases, additional config options.\r\n\r\nAdds a basic test focused on reindexing, covers a few more test cases: more replicas and shards, different shard count on primary and secondary dc, allows consumer group to be configured, allows crossdc zk prop file location to be configured.\r\n\r\n* Remove TODO, some minor fixes, doc.\r\n\r\n* Add maxPolledRecords and some logging cleanup.\r\n\r\n* Config improvements and queue bug fixes. (#34)\r\n\r\n* Configuration improvements, cleanup, minor fixes. (#35)\r\n\r\n* Explicit SSL Config (#36)\r\n\r\n* SSL config passed on to Kafka and a variety of general cleanup. (#37)\r\n\r\n* Flush producer on close to prevent losing any pending updates. (#38)\r\n\r\n* Config override test and cleanup. (#39)\r\n\r\n* Flush producer on close to prevent losing any pending updates.\r\n\r\n* Add a config override test and some cleanup.\r\n\r\n* Cleanup Kafka config class. (#40)\r\n\r\n* Improve test to cover a bit more. (#41)\r\n\r\n* Beef up config override test, additional config logging. (#42)\r\n\r\n* Allow empty string as a config property value. (#43)\r\n\r\n* Check docSize against max before mirroring (#45)\r\n\r\n* Check docSize against max before mirroring\r\n\r\nPrior to this commit, the MirroringUpdateProcessor had no check to\r\nensure that docs weren\u0027t running afoul of the batch size limit set at\r\nthe Kafka level.\r\n\r\nThis commit changes this to ensure that docs exceeding this limit are\r\nnot mirrored.  These offending docs may still be indexed, based on the\r\nvalue of the URP\u0027s \"indexUnmirrorableDocs\" config property (which\r\ndefaults to \u0027false\u0027 if not set).\r\n\r\n* Fix log message printed when mirroring skipped for large doc (#46)\r\n\r\n* Check batch-size against \"max\" before mirroring (#48)\r\n\r\nPrior to this commit, MirroringUpdateProcessor checked that individual\r\ndocuments didn\u0027t exceed the mirroring batch-size limit on their own, but\r\nno check existed to ensure that the entire list of docs doesn\u0027t exceed\r\nthe limit.\r\n\r\nThis commit adds that check (in MirroringUpdateProcessor.finish()).  If\r\nthe configured max batch-size is exceeded, MUP will log out an error\r\n(which includes the IDs of all documents in the batch).\r\n\r\n* Redact properties before string-ifying or logging (#49)\r\n\r\nPrior to this commit, certain log messages during Producer/Consumer\r\nstartup contained potentially sensitive information, such as SSL\r\npasswords, etc.\r\n\r\nThis commit amends the string-ification of KafkaCrossDcConf and other\r\nMap/Properties types to \"redact\" properties whose key/name contains a\r\nblock-list of values.  This list currently consists of \"password\" and\r\n\"credentials\": any property name containing these substrings (ignoring\r\ncase) will be redacted before logging.\r\n\r\n* Remove a couple wip testing tools.\r\n\r\nCo-authored-by: Anshum Gupta \u003canshum@apache.org\u003e\r\nCo-authored-by: Patrik Greco \u003cpgreco@apple.com\u003e\r\nCo-authored-by: Jason Gerlowski \u003cgerlowskija@apache.org\u003e"
    },
    {
      "commit": "86743b8ca5ea174a44d65a3ba6117881eedbe222",
      "tree": "b61c32208e4a3e14b3d859420b1eaf1470f31cf7",
      "parents": [
        "9f742a02725b256ba0408b279eb9d712a575fea2"
      ],
      "author": {
        "name": "Anshum Gupta",
        "email": "anshum@apache.org",
        "time": "Tue Mar 23 10:21:38 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 23 10:21:38 2021 -0700"
      },
      "message": "Add crossdc module (#3)\n\n* Add crossdc-consumer module"
    },
    {
      "commit": "9f742a02725b256ba0408b279eb9d712a575fea2",
      "tree": "3efca390cac452e8a95e37dd16a56ea471ae04ee",
      "parents": [
        "785bee928a96855e51b8dfa15dba0999f241e9ed"
      ],
      "author": {
        "name": "Houston Putman",
        "email": "houston@apache.org",
        "time": "Tue Mar 23 10:55:53 2021 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 23 10:55:53 2021 -0400"
      },
      "message": "Update ASF Yaml for Solr TLP move"
    },
    {
      "commit": "785bee928a96855e51b8dfa15dba0999f241e9ed",
      "tree": "8c6aa0fdebd846c6cd1950ff7d6521aca9c0bf70",
      "parents": [
        "ec6943c912ed0b193baa8f9faed5967e1606e1fe"
      ],
      "author": {
        "name": "Anshum Gupta",
        "email": "anshum@apache.org",
        "time": "Fri Feb 05 14:34:21 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 05 14:34:21 2021 -0800"
      },
      "message": "Setup gradle for sandbox root (#2)\n\n* Setup gradle for sandbox root\r\n\r\n* Replace default gradle wrappers with the one from lucene-solr repo\r\n\r\n* Remove the use of WrapperDownloader. We can add it if we really need it in the future."
    },
    {
      "commit": "ec6943c912ed0b193baa8f9faed5967e1606e1fe",
      "tree": "2fd10ffcfb8f2cec5a9903a6f10cf7e020867b10",
      "parents": [
        "4aa126fdc5ab0b1d835c4303e5ea48a298b67fd6"
      ],
      "author": {
        "name": "Anshum Gupta",
        "email": "anshum@apache.org",
        "time": "Fri Feb 05 11:21:15 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 05 11:21:15 2021 -0800"
      },
      "message": "Create .asf.yaml (#1)\n\n"
    },
    {
      "commit": "4aa126fdc5ab0b1d835c4303e5ea48a298b67fd6",
      "tree": "32baf681537f5d48570b4937c0ccabd94f705b97",
      "parents": [],
      "author": {
        "name": "Anshum Gupta",
        "email": "anshum@apache.org",
        "time": "Wed Feb 03 13:32:57 2021 -0800"
      },
      "committer": {
        "name": "Anshum Gupta",
        "email": "anshum@apache.org",
        "time": "Wed Feb 03 13:32:57 2021 -0800"
      },
      "message": "Add README.md, LICENSE, and .gitignore files\n"
    }
  ]
}
