You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by si...@apache.org on 2018/05/03 06:38:23 UTC

[bookkeeper] branch master updated: ZKLedgerManager.writeLedgerMetadata should return appropriate error.

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 7580ce9  ZKLedgerManager.writeLedgerMetadata should return appropriate error.
7580ce9 is described below

commit 7580ce9dd8449f777e35b580bb6786f12d7703bc
Author: cguttapalem <cg...@salesforce.com>
AuthorDate: Wed May 2 23:38:10 2018 -0700

    ZKLedgerManager.writeLedgerMetadata should return appropriate error.
    
    Descriptions of the changes in this PR:
    
    ZKLedgerManager.writeLedgerMetadata should return
    NoSuchLedgerExistsException error in the case it
    gets KeeperException.Code.NONODE rc value from ZK.
    ZKLedgerManager.removeLedgerMetadata does that as well.
    
    Author: cguttapalem <cg...@salesforce.com>
    
    Reviewers: Enrico Olivelli <eo...@gmail.com>, Sijie Guo <si...@apache.org>
    
    This closes #1382 from reddycharan/abstractzkledgermanagerissue
---
 .../main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java  | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java
index 3115f12..dbddfc1 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java
@@ -443,6 +443,9 @@ public abstract class AbstractZkLedgerManager implements LedgerManager, Watcher
                     // update metadata version
                     metadata.setVersion(zv.setLongVersion(stat.getVersion()));
                     cb.operationComplete(BKException.Code.OK, null);
+                } else if (KeeperException.Code.NONODE.intValue() == rc) {
+                    LOG.warn("Ledger node does not exist in ZooKeeper: ledgerId={}", ledgerId);
+                    cb.operationComplete(BKException.Code.NoSuchLedgerExistsException, null);
                 } else {
                     LOG.warn("Conditional update ledger metadata failed: {}", KeeperException.Code.get(rc));
                     cb.operationComplete(BKException.Code.ZKException, null);

-- 
To stop receiving notification emails like this one, please contact
sijie@apache.org.