reddycharan commented on a change in pull request #1683: Enhance Auditor
URL: https://github.com/apache/bookkeeper/pull/1683#discussion_r219632604
##########
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:
we don't want this to be part of cluster initialization stuff, this is kind
of good to have information but not must have. It brings unnecessary burden for
cluster initialization part. For all practical purposes if zNode is not
existing / not yet created, then lets consider it as '-1' and move forward.
----------------------------------------------------------------
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