Merge changes from topic 'notedb-diffs' * changes: ChangeRebuilder: Fuse StatusChangeEvent into ChangeMessageEvent ChangeBundle: Ignore postSubmit bit on post-submit 0 votes RevisionIT: Fix test for post-submit approval after deletion ChangeRebuilder: Fix grouping of events containing tags Add more info to toString for rebuilding events ChangeRebuilderImpl: Handle non-monotonic patch set timestamps ChangeUpdate: Sanitize all footers ChangeBundle: Handle leading/trailing whitespace in topic/desc Handle change subjects containing '\r' in NoteDb
diff --git a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/DropWizardMetricMaker.java b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/DropWizardMetricMaker.java index 1127728..118ca03 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/DropWizardMetricMaker.java +++ b/gerrit-server/src/main/java/com/google/gerrit/metrics/dropwizard/DropWizardMetricMaker.java
@@ -322,9 +322,15 @@ private synchronized void define(String name, Description desc) { if (descriptions.containsKey(name)) { - throw new IllegalStateException(String.format("metric %s already defined", name)); + ImmutableMap<String, String> annotations = descriptions.get(name); + if (!desc.getAnnotations() + .get(Description.DESCRIPTION) + .equals(annotations.get(Description.DESCRIPTION))) { + throw new IllegalStateException(String.format("metric %s already defined", name)); + } + } else { + descriptions.put(name, desc.getAnnotations()); } - descriptions.put(name, desc.getAnnotations()); } private static final Pattern METRIC_NAME_PATTERN =