CommandProcessorImpl: streamline exception logging Log any exception from the already existing outer try-catch block. Remove inner try-catch blocks and add toString() method to all Command subclasses so that we can log cmd object. Change-Id: Id86ec855f046e73409616e3fef0b195b619e4ffd
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/AddToProjectList.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/AddToProjectList.java index 4883dda..b368746 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/AddToProjectList.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/AddToProjectList.java
@@ -30,4 +30,9 @@ public String getProjectName() { return projectName; } + + @Override + public String toString() { + return type + "[" + projectName + "]"; + } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/Command.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/Command.java index 1b7b86e..3bcfb3f 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/Command.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/Command.java
@@ -25,4 +25,9 @@ this.type = type; this.eventCreatedOn = eventCreatedOn; } + + @Override + public String toString() { + return type.toString(); + } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/CommandProcessorImpl.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/CommandProcessorImpl.java index 359a578..9dd964a 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/CommandProcessorImpl.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/CommandProcessorImpl.java
@@ -30,7 +30,6 @@ import com.google.gerrit.server.events.Event; import com.google.inject.Inject; import com.google.inject.Singleton; -import java.io.IOException; import java.time.Instant; @Singleton @@ -71,36 +70,23 @@ boolean success = false; try { - if (cmd instanceof IndexChange) { IndexChange indexChange = (IndexChange) cmd; - try { - ForwardedIndexChangeHandler handler = - indexChange.isBatch() ? indexBatchChangeHandler : indexChangeHandler; - if (indexChange instanceof IndexChange.Delete) { - handler.delete(indexChange.getId()); - log.atFine().log("Change index delete on change %s done", indexChange.getId()); - } else { - ChangeIndexEvent event = toChangeIndexEvent(indexChange); - handler.index(indexChange.getId(), event); - log.atFine().log("Change index update on change %s done", indexChange.getId()); - } - } catch (Exception e) { - log.atSevere().withCause(e).log( - "Change index operation on change %s failed", indexChange.getId()); - throw e; + ForwardedIndexChangeHandler handler = + indexChange.isBatch() ? indexBatchChangeHandler : indexChangeHandler; + if (indexChange instanceof IndexChange.Delete) { + handler.delete(indexChange.getId()); + log.atFine().log("Change index delete on change %s done", indexChange.getId()); + } else { + ChangeIndexEvent event = toChangeIndexEvent(indexChange); + handler.index(indexChange.getId(), event); + log.atFine().log("Change index update on change %s done", indexChange.getId()); } } else if (cmd instanceof IndexAccount) { IndexAccount indexAccount = (IndexAccount) cmd; - try { - indexAccountHandler.index(Account.id(indexAccount.getId())); - log.atFine().log("Account index update on account %s done", indexAccount.getId()); - } catch (IOException e) { - log.atSevere().withCause(e).log( - "Account index update on account %s failed", indexAccount.getId()); - throw e; - } + indexAccountHandler.index(Account.id(indexAccount.getId())); + log.atFine().log("Account index update on account %s done", indexAccount.getId()); } else if (cmd instanceof EvictCache) { EvictCache evictCommand = (EvictCache) cmd; @@ -123,6 +109,7 @@ } success = true; } catch (Exception e) { + log.atSevere().withCause(e).log("Error processing command %s", cmd); success = false; } metrics.record(cmd.eventCreatedOn, startTime, success);
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/DeleteAllProjectChangesFromIndex.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/DeleteAllProjectChangesFromIndex.java index 532708b..d13fce7 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/DeleteAllProjectChangesFromIndex.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/DeleteAllProjectChangesFromIndex.java
@@ -31,4 +31,9 @@ public String getProjectName() { return projectName.get(); } + + @Override + public String toString() { + return type + "[" + projectName + "]"; + } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/EvictCache.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/EvictCache.java index 151b839..9e35ea7 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/EvictCache.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/EvictCache.java
@@ -36,4 +36,9 @@ public String getKeyJson() { return keyJson; } + + @Override + public String toString() { + return type + "[" + cacheName + ", " + keyJson + "]"; + } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexAccount.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexAccount.java index 6c95d1d..d4f0ca1 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexAccount.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexAccount.java
@@ -30,4 +30,9 @@ public int getId() { return id; } + + @Override + public String toString() { + return type + "[" + id + "]"; + } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexChange.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexChange.java index 0143ba5..7f528d8 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexChange.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexChange.java
@@ -53,6 +53,11 @@ return batchMode; } + @Override + public String toString() { + return type + "[" + getId() + "]"; + } + public static class Update extends IndexChange { static final EventType TYPE = EventType.INDEX_CHANGE_UPDATE;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexGroup.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexGroup.java index 3ae8458..78ea596 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexGroup.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexGroup.java
@@ -30,4 +30,9 @@ public String getUuid() { return uuid; } + + @Override + public String toString() { + return type + "[" + uuid + "]"; + } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexProject.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexProject.java index 7feffc4..98480ba 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexProject.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/IndexProject.java
@@ -30,4 +30,9 @@ public String getProjectName() { return projectName; } + + @Override + public String toString() { + return type + "[" + projectName + "]"; + } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/PostEvent.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/PostEvent.java index 18c17c7..9ab0249 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/PostEvent.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/PostEvent.java
@@ -31,4 +31,9 @@ public Event getEvent() { return event; } + + @Override + public String toString() { + return type + "[" + event + "]"; + } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/RemoveFromProjectList.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/RemoveFromProjectList.java index b1ee7df..bcfe63d 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/RemoveFromProjectList.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/commands/RemoveFromProjectList.java
@@ -30,4 +30,9 @@ public String getProjectName() { return projectName; } + + @Override + public String toString() { + return type + "[" + projectName + "]"; + } }