public boolean isUpToDate()

in src/main/java/com/googlesource/gerrit/plugins/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java [57:86]


  public boolean isUpToDate(Project.NameKey project, Ref ref) throws GlobalRefDbLockException {
    if (!exists(project, ref.getName())) {
      return true;
    }

    try {
      final byte[] valueInZk = client.getData().forPath(pathFor(project, ref.getName()));

      // Assuming this is a delete node NULL_REF
      if (valueInZk == null) {
        logger.atFine().log(
            "%s:%s not found in Zookeeper, assumed as delete node NULL_REF",
            project, ref.getName());
        return false;
      }

      ObjectId objectIdInSharedRefDb = readObjectId(valueInZk);
      Boolean isUpToDate = objectIdInSharedRefDb.equals(ref.getObjectId());

      if (!isUpToDate) {
        logger.atFine().log(
            "%s:%s is out of sync: local=%s zk=%s",
            project, ref.getName(), ref.getObjectId(), objectIdInSharedRefDb);
      }

      return isUpToDate;
    } catch (Exception e) {
      throw new GlobalRefDbLockException(project.get(), ref.getName(), e);
    }
  }