summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarius Jokilehto <dariusjokilehto@gmail.com>2023-05-04 10:05:25 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-05-04 10:05:25 +0000
commit0ef6ab3c7852c0618ef1862d363762248161b973 (patch)
tree43483b65f73282d53a1fe50433a4565b154b56a0
parent2ab90279881e77e73e715104982a66fc620941fa (diff)
parentcc386031455272cc57b20174469353677e279d9c (diff)
Merge "Log external ID differential cache loader failure" into stable-3.6
-rw-r--r--java/com/google/gerrit/server/account/externalids/ExternalIdCacheLoader.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/java/com/google/gerrit/server/account/externalids/ExternalIdCacheLoader.java b/java/com/google/gerrit/server/account/externalids/ExternalIdCacheLoader.java
index 27672bdcf6..43e316a978 100644
--- a/java/com/google/gerrit/server/account/externalids/ExternalIdCacheLoader.java
+++ b/java/com/google/gerrit/server/account/externalids/ExternalIdCacheLoader.java
@@ -43,7 +43,9 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
import org.eclipse.jgit.errors.ConfigInvalidException;
+import org.eclipse.jgit.lib.AnyObjectId;
import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.ObjectReader;
@@ -184,8 +186,17 @@ public class ExternalIdCacheLoader {
}
}
- AllExternalIds allExternalIds =
- buildAllExternalIds(repo, oldExternalIds, additions, removals);
+ AllExternalIds allExternalIds;
+ try {
+ allExternalIds = buildAllExternalIds(repo, oldExternalIds, additions, removals);
+ } catch (IllegalArgumentException e) {
+ Set<String> additionKeys =
+ additions.keySet().stream().map(AnyObjectId::getName).collect(Collectors.toSet());
+ logger.atSevere().withCause(e).log(
+ "Failed to load external ID cache. Repository ref is %s, cache ref is %s, additions are %s",
+ extIdRef.getObjectId().getName(), parentWithCacheValue.getId().getName(), additionKeys);
+ throw e;
+ }
reloadCounter.increment(true);
reloadDifferential.record(System.nanoTime() - start, TimeUnit.NANOSECONDS);
return allExternalIds;