in src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexingHandler.java [56:80]
public void index(T id, Operation operation, Optional<IndexEvent> indexEvent) throws IOException {
log.atFine().log("%s %s %s", operation, id, indexEvent);
if (inFlightIndexing.add(id)) {
try {
Context.setForwardedEvent(true);
switch (operation) {
case INDEX:
doIndex(id, indexEvent);
break;
case DELETE:
doDelete(id, indexEvent);
break;
default:
log.atSevere().log("unexpected operation: %s", operation);
break;
}
} finally {
Context.unsetForwardedEvent();
inFlightIndexing.remove(id);
}
} else {
throw new InFlightIndexedException(
String.format("Indexing for %s %s %s already in flight", operation, id, indexEvent));
}
}