You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Youngjoon Kim (JIRA)" <ji...@apache.org> on 2014/11/24 13:18:12 UTC
[jira] [Created] (BOOKKEEPER-804) Client program is not terminated
when using openLedgerNoRecovery
Youngjoon Kim created BOOKKEEPER-804:
----------------------------------------
Summary: 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
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)