)]}'
{
  "commit": "2f19e6892622a2fbf089cf6c30908b717252a84d",
  "tree": "d5d9b6ee96a4148c350b2bdecf78b73bb06d6edb",
  "parents": [
    "a483dcabceef5fbbf20b8c4d035592490b7c4f09"
  ],
  "author": {
    "name": "Sasa Zivkov",
    "email": "sasa.zivkov@sap.com",
    "time": "Wed Aug 19 13:14:32 2026 +0200"
  },
  "committer": {
    "name": "Sasa Zivkov",
    "email": "sasa.zivkov@sap.com",
    "time": "Fri Oct 02 17:19:52 2026 +0200"
  },
  "message": "index: clean up handler API and rename IndexEvent to ChangeIndexEvent\n\nIndexEvent.metaSha and targetSha are change-specific fields, so rename\nIndexEvent to ChangeIndexEvent to make the domain specificity explicit.\nMake metaSha mandatory.\n\nRemove ChangeIndexEvent (previously IndexEvent) from the Forwarder\nmethods that don\u0027t use it: indexAccount, indexGroup, indexProject and\ndeleteChangeFromIndex. Callers were passing empty Optional\u003cIndexEvent\u003e\ninstances just to satisfy the uniform API.\n\nThe index method in the base class (ForwardedIndexingHandler) required\npassing the Operation enum and the API forced all callers to go through\nthat method. However, all callers already knew if they need to perform\nindex() or delete() and there was no need to pass that information to\nthe base class which will then use a switch statement to dispatch the\ncall to doIndex/doDelete. Replace this indirection with separate index()\nand delete() methods on each concrete handler, delegating in-flight\ndeduplication to the new method runWithInFlightGuard() in the base class.\n\nOn the servlet side, enforce that metaSha is present in the JSON\nrequest body for change index operations, returning 400 Bad Request if\nmissing.\n\nChange-Id: I4ab2228c342f7d2b14905f8c70f0a2c0acd38e5e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8e29fcf18aed0434de16a5f34401e1aa076181e3",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/NoForwarder.java",
      "new_id": "924d3fb5444b857ecacb3f735df035c6cb955983",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/NoForwarder.java"
    },
    {
      "type": "rename",
      "old_id": "129af6b5669d043169e8f863a798d857e200835b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/IndexEvent.java",
      "new_id": "b18ae660a4a7a8c63430250a8f811cbb6f4f32ef",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ChangeIndexEvent.java",
      "score": 62
    },
    {
      "type": "modify",
      "old_id": "57d6a4ba4f3c34361babc86a8419bcb3ab7c7ba6",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandler.java",
      "new_id": "880b81929fd36f11615e02732d45cde4e60100c4",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandler.java"
    },
    {
      "type": "modify",
      "old_id": "ca9e0f7c0ba5deb0cc37811c058984d9990b3333",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java",
      "new_id": "b470f29078453d61348dd8e2ded34b4df95a42a3",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java"
    },
    {
      "type": "modify",
      "old_id": "8b3c451ee7be3fcd41e5eb8e14558099ad00284b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandler.java",
      "new_id": "2061d49704cd5b539d8177a1efc39eb9505a19f9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandler.java"
    },
    {
      "type": "modify",
      "old_id": "0607f818679403e64afdc1f3b40b7275f2f14221",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandler.java",
      "new_id": "8e5332bad82277a664582061714d347c7b979d2a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandler.java"
    },
    {
      "type": "modify",
      "old_id": "11d9eccc5bfa8ecf0c5003d895443b375f09e94c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexingHandler.java",
      "new_id": "62c771c07e6a298c6541ade80cd5ce4e3601d6e5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexingHandler.java"
    },
    {
      "type": "modify",
      "old_id": "088f0fa497c5ef619cb07a78b06a9dfbed1ba231",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/Forwarder.java",
      "new_id": "2c721b6c0c8a4c8ce1a462aa95f6bdc3d2cdd136",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/Forwarder.java"
    },
    {
      "type": "modify",
      "old_id": "635ef4f93b225f3bf46958d44ede53bd917eb35b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/CommandProcessorImpl.java",
      "new_id": "d411e11aa422bd522e27717601996bef604d24db",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/CommandProcessorImpl.java"
    },
    {
      "type": "modify",
      "old_id": "c176c50815dd629f1bf77b60d9d1247860d54191",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexChange.java",
      "new_id": "0143ba59d4b63c4b2ca3ae4b978d1cfea780c5b8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexChange.java"
    },
    {
      "type": "modify",
      "old_id": "a66dd41c0ba67d4833ea01e06b7c94fa586cab6e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/jgroups/JGroupsForwarder.java",
      "new_id": "7546232291ef34c745b3e74f98b3b16043c87023",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/jgroups/JGroupsForwarder.java"
    },
    {
      "type": "modify",
      "old_id": "d4d520a03f0d47ccd8fbf3c99b0612dd41998f61",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServlet.java",
      "new_id": "3ba8ff0595bfbc4915e634e034c51be984be6414",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServlet.java"
    },
    {
      "type": "modify",
      "old_id": "6c257423617f85ee244eb04265aa6c2a405eef9a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexBatchChangeRestApiServlet.java",
      "new_id": "c967fe5c564de415dec0843307693d091ae8e48e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexBatchChangeRestApiServlet.java"
    },
    {
      "type": "modify",
      "old_id": "14233048a815fcbb5a56de6202c6337a3bb89bdc",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServlet.java",
      "new_id": "993cf17d4b8326e68c30fecf5be72a0ca3a97518",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServlet.java"
    },
    {
      "type": "modify",
      "old_id": "7f5e539007bc8bc48b63a9216677b173b3a2618d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServlet.java",
      "new_id": "76d6d2754f21b2979a558e3181fb0870ce2ea7fc",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServlet.java"
    },
    {
      "type": "modify",
      "old_id": "17aa5c396ec9c98e64c14a7d4c15e0eee8d35412",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServlet.java",
      "new_id": "0f92f9c317b2edd016c90e3bc316ff0af27c681a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServlet.java"
    },
    {
      "type": "modify",
      "old_id": "57e0c72a077adb4cd481a8f3959829b35ff6af72",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarder.java",
      "new_id": "404f257908c4d10528e3b6b92ba67caae1071d6e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarder.java"
    },
    {
      "type": "modify",
      "old_id": "f702d87c68b063890351534467558ad81e46ee69",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeChecker.java",
      "new_id": "aaf85232d1a256f6a48a0e358ce6850ef69b7e66",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeChecker.java"
    },
    {
      "type": "modify",
      "old_id": "32d425d408347fcda2c6d408709b8cf506aae01f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java",
      "new_id": "707dffc9a0aff9e9c1a6d23b6caa42e2a8f30b7d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java"
    },
    {
      "type": "modify",
      "old_id": "d69bb4225d202ea5e6f9a620f7028f48bf3ab50d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandler.java",
      "new_id": "5de1ad4b313c96f62ec7d9ad626885968ec3ba97",
      "new_mode": 33188,
      "new_path": "src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandler.java"
    },
    {
      "type": "modify",
      "old_id": "78e32fcbf0af7c1ff54bf794488e9231c345323e",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandlerTest.java",
      "new_id": "eb129b718fd8b3642b6bab1a77868972e9a2b4c2",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandlerTest.java"
    },
    {
      "type": "modify",
      "old_id": "64464af9957b46753be785ccae7a2125d08de39e",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java",
      "new_id": "6422f634633a7c620f79e62579b2fe5ee8154bff",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java"
    },
    {
      "type": "modify",
      "old_id": "8eedffdac67075f607937eecdeb34d4c9960a86c",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandlerTest.java",
      "new_id": "bbd126c632b518f1837c0eb6ad1062c15765617a",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandlerTest.java"
    },
    {
      "type": "modify",
      "old_id": "d977acb7a388f9b0b7edf0a4830104f8c0a1e906",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandlerTest.java",
      "new_id": "593e25afcdd856b93f3879a27280caa4221bc049",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandlerTest.java"
    },
    {
      "type": "modify",
      "old_id": "1a926bf897ded04a81eefec9cfffdc0bb72eea03",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/jgroups/JGroupsForwarderTest.java",
      "new_id": "8dcd19b8bdd9efc7acc18ccf0364bc45fb82a0fa",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/jgroups/JGroupsForwarderTest.java"
    },
    {
      "type": "modify",
      "old_id": "58b06bc3a3625045685a2d026186e079c515ea05",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/jgroups/MessageProcessorTest.java",
      "new_id": "3a876f65945c6a1d7e5c03eccb29844c0a9ec3dd",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/jgroups/MessageProcessorTest.java"
    },
    {
      "type": "modify",
      "old_id": "454f000376a72215b0caf0c2f30c28dc55aaf717",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServletTest.java",
      "new_id": "ccd2b56b5d00a78f79adfa73019ab7593c862f3f",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServletTest.java"
    },
    {
      "type": "modify",
      "old_id": "a19fda64b7d2f12f75ff8604d2533a125e71b4ae",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServletTest.java",
      "new_id": "db06e1b785d26c64dfdc791bb189fd7335596741",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServletTest.java"
    },
    {
      "type": "modify",
      "old_id": "2278b17dcbed8bdf5f54e6d6fc1828bf7416029d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServletTest.java",
      "new_id": "2adc7ff47fea54f3a35cc8bf5e6b62860a0f9a8a",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServletTest.java"
    },
    {
      "type": "modify",
      "old_id": "53670c8db896d30422f6447756f56170d2b9c064",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServletTest.java",
      "new_id": "0bc7ef6a52391bae12e4e3558178f9ab8a83b81e",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServletTest.java"
    },
    {
      "type": "modify",
      "old_id": "d0a464db0b349a45233aa3e5a6aa8abd670d262d",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarderTest.java",
      "new_id": "0b63ccb68df9c0452ee6b2776fe8720a68177dc2",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarderTest.java"
    },
    {
      "type": "modify",
      "old_id": "ebf966fcf37b8434a52871f4bf240ebbe4a0e62b",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerIT.java",
      "new_id": "8b3a13a8982d16be97f14684d81d6e7920421972",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerIT.java"
    },
    {
      "type": "modify",
      "old_id": "460d56b765a5b6c0c6b472cc4333301694faf59c",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImplTest.java",
      "new_id": "e9ffd4c34a960d71a456d0ade65c26509a0f58a5",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImplTest.java"
    },
    {
      "type": "modify",
      "old_id": "95e627bf740d4c109f0cb7ffbdddf0146fee12a9",
      "old_mode": 33188,
      "old_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandlerTest.java",
      "new_id": "09bdb3fd6b2195324be1288083cd458e24ac4328",
      "new_mode": 33188,
      "new_path": "src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandlerTest.java"
    }
  ]
}
