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

ivank 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 79bb0b1  AbstractZkLedgerManager should catch all exceptions from 
parseConfig
79bb0b1 is described below

commit 79bb0b1c8570359b2ac9b1e4a5c84ac3eca93496
Author: Ivan Kelly <[email protected]>
AuthorDate: Wed Nov 21 18:24:59 2018 +0100

    AbstractZkLedgerManager should catch all exceptions from parseConfig
    
    And always complete the request if an exception does occur, rather
    than throwing it out to the higher level, and hanging the request
    forever.
    
    
    Reviewers: Enrico Olivelli <[email protected]>
    
    This closes #1824 from ivankelly/catch-all-exception-zk
---
 .../main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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 a23c330..b5bea64 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
@@ -402,8 +402,8 @@ public abstract class AbstractZkLedgerManager implements 
LedgerManager, Watcher
                     LongVersion version = new LongVersion(stat.getVersion());
                     LedgerMetadata metadata = LedgerMetadata.parseConfig(data, 
Optional.of(stat.getCtime()));
                     promise.complete(new Versioned<>(metadata, version));
-                } catch (IOException e) {
-                    LOG.error("Could not parse ledger metadata for ledger: " + 
ledgerId, e);
+                } catch (Throwable t) {
+                    LOG.error("Could not parse ledger metadata for ledger: 
{}", ledgerId, t);
                     promise.completeExceptionally(new 
BKException.ZKException());
                 }
             }

Reply via email to