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)