Extra logging when local ref-db is misaligned with shared-db
Display extra details of the local SHA1 vs shared SHA1 when
they do not match the expected values.
Change-Id: I9a75cf26230f3c9978985c0fd23251ccb22c5330
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java
index afd3766..efbf390 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java
@@ -58,10 +58,22 @@
// Assuming this is a delete node NULL_REF
if (valueInZk == null) {
+ logger.atInfo().log(
+ "%s:%s not found in Zookeeper, assumed as delete node NULL_REF",
+ project, ref.getName());
return false;
}
- return readObjectId(valueInZk).equals(ref.getObjectId());
+ ObjectId objectIdInSharedRefDb = readObjectId(valueInZk);
+ Boolean isUpToDate = objectIdInSharedRefDb.equals(ref.getObjectId());
+
+ if (!isUpToDate) {
+ logger.atWarning().log(
+ "%s:%s is out of sync: local=%s zk=%s",
+ project, ref.getName(), ref.getObjectId(), objectIdInSharedRefDb);
+ }
+
+ return isUpToDate;
} catch (Exception e) {
throw new SharedLockException(project, ref.getName(), e);
}