eolivelli commented on a change in pull request #1683: Enhance Auditor
URL: https://github.com/apache/bookkeeper/pull/1683#discussion_r219400139
 
 

 ##########
 File path: 
bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ZkLedgerUnderreplicationManager.java
 ##########
 @@ -884,4 +885,39 @@ public String 
getReplicationWorkerIdRereplicatingLedger(long ledgerId)
         }
         return replicationWorkerId;
     }
+
+    @Override
+    public void setCheckAllLedgersCTime(long checkAllLedgersCTime) throws 
UnavailableException {
+        LOG.debug("setCheckAllLedgersCTime");
+        try {
+            if (zkc.exists(checkAllLedgersCtimeZnode, false) != null) {
+                zkc.setData(checkAllLedgersCtimeZnode, 
Long.toString(checkAllLedgersCTime).getBytes(UTF_8), -1);
+            } else {
+                zkc.create(checkAllLedgersCtimeZnode, 
Long.toString(checkAllLedgersCTime).getBytes(UTF_8),
+                        Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
+            }
+        } catch (KeeperException ke) {
+            throw new ReplicationException.UnavailableException("Error 
contacting zookeeper", ke);
+        } catch (InterruptedException ie) {
+            Thread.currentThread().interrupt();
+            throw new ReplicationException.UnavailableException("Interrupted 
while contacting zookeeper", ie);
+        }
+    }
+
+    @Override
+    public long getCheckAllLedgersCTime() throws UnavailableException {
+        LOG.debug("getCheckAllLedgersCTime");
+        try {
+            byte[] data = zkc.getData(checkAllLedgersCtimeZnode, false, null);
+            return Long.parseLong(new String(data, UTF_8));
+        } catch (KeeperException.NoNodeException ne) {
+            LOG.warn("checkAllLedgersCtimeZnode is not yet available");
+            return -1;
 
 Review comment:
   okay, makes sense.
   I was just saying that in this case we can be somehow tolerant to this 
simple case.
   in general if the user alters zk contents manually a big mess will happen
   
   so okay to fail

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to