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

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


The following commit(s) were added to refs/heads/branch-4.7 by this push:
     new 1d2b5c5  ZKLedgerManager.writeLedgerMetadata should return appropriate 
error.
1d2b5c5 is described below

commit 1d2b5c5f0d558cd7e006c4fbe0f473569380a3a6
Author: cguttapalem <cguttapa...@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 <cguttapa...@salesforce.com>
    
    Reviewers: Enrico Olivelli <eolive...@gmail.com>, Sijie Guo 
<si...@apache.org>
    
    This closes #1382 from reddycharan/abstractzkledgermanagerissue
    
    (cherry picked from commit 7580ce9dd8449f777e35b580bb6786f12d7703bc)
    Signed-off-by: Sijie Guo <si...@apache.org>
---
 .../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
si...@apache.org.

Reply via email to