You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Ivan Kelly (JIRA)" <ji...@apache.org> on 2014/11/24 14:06:13 UTC

[jira] [Commented] (BOOKKEEPER-804) Client program is not terminated when using openLedgerNoRecovery

    [ https://issues.apache.org/jira/browse/BOOKKEEPER-804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14222965#comment-14222965 ] 

Ivan Kelly commented on BOOKKEEPER-804:
---------------------------------------

Strange, it only happens if you call readEntries. If you just open the ledger there's no problem. I'll look into it.

> Client program is not terminated when using openLedgerNoRecovery
> ----------------------------------------------------------------
>
>                 Key: BOOKKEEPER-804
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-804
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.3.0
>            Reporter: Youngjoon Kim
>            Assignee: Ivan Kelly
>
> If a client program does some operations using a ledger handle opened by openLedgerNoRecovery(), the program is not terminated after the handle and bookkeeper object is closed.
> Here is a sample code. 
> {code}
> import java.util.Enumeration;
> import org.apache.bookkeeper.client.BookKeeper;
> import org.apache.bookkeeper.client.LedgerEntry;
> import org.apache.bookkeeper.client.LedgerHandle;
> public class BkClient {
>   public static void main(String[] args) {
>     try {
>       BookKeeper bk = new BookKeeper("localhost:2181");
>       // 9 is a ledger id of an existing ledger
>       LedgerHandle lh = bk.openLedgerNoRecovery(9, BookKeeper.DigestType.CRC32, "passwd".getBytes());
>       Enumeration<LedgerEntry> entries = lh.readEntries(0, 0);
>       lh.close();
>       bk.close();
>     } catch (Exception e) {
>       e.printStackTrace();
>     }
>   }
> }
> {code}
> Thread dump of this program shows that non-daemon thread "ZkLedgerManagerScheduler-0"  is alive, after bk.close() is called. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)