[
https://issues.apache.org/jira/browse/BOOKKEEPER-568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13576182#comment-13576182
]
Matteo Merli commented on BOOKKEEPER-568:
-----------------------------------------
I'm not sure if doing
{code}
l2NodesIter == null || !l2NodesIter.hasNext()
{code}
would be the correct check.
> NPE during GC with HierarchicalLedgerManager
> --------------------------------------------
>
> Key: BOOKKEEPER-568
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-568
> Project: Bookkeeper
> Issue Type: Bug
> Components: bookkeeper-server
> Affects Versions: 4.2.0
> Reporter: Matteo Merli
> Priority: Minor
>
> {noformat}
> 2013-02-11 14:06:28,904 - WARN -
> [GarbageCollectorThread:ScanAndCompareGarbageCollector@103] - Exception when
> iterating over the metadata {}
> java.io.IOException: Error when check more elements
> at
> org.apache.bookkeeper.meta.HierarchicalLedgerManager$HierarchicalLedgerRangeIterator.hasNext(HierarchicalLedgerManager.java:423)
> at
> org.apache.bookkeeper.bookie.ScanAndCompareGarbageCollector.gc(ScanAndCompareGarbageCollector.java:75)
> at
> org.apache.bookkeeper.bookie.GarbageCollectorThread.doGcLedgers(GarbageCollectorThread.java:302)
> at
> org.apache.bookkeeper.bookie.GarbageCollectorThread.run(GarbageCollectorThread.java:271)
> Caused by: java.lang.NullPointerException
> at
> org.apache.bookkeeper.meta.HierarchicalLedgerManager$HierarchicalLedgerRangeIterator.hasNext(HierarchicalLedgerManager.java:419)
> ... 3 more
> {noformat}
> In the code below, l2NodesIter appears to be null.
> {code}
> public boolean hasNext() throws IOException {
> try {
> if (l1NodesIter == null) {
> l1NodesIter = zk.getChildren(ledgerRootPath, null).iterator();
> hasMoreElement = nextL1Node();
> } else if (!l2NodesIter.hasNext()) {
> hasMoreElement = nextL1Node();
> }
> } catch (Exception e) {
> throw new IOException("Error when check more elements", e);
> }
> return hasMoreElement;
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira