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

Enrico Olivelli commented on BOOKKEEPER-1051:
---------------------------------------------

[~mmerli] [~hustlmsp]
I am testing current master and in my tests I see this kind of logs (due to the 
new shutdownNow call).

I wonder if we can change the severity level of the logger in 
ScanAndCompareGarbageCollector in case of shutdown in progress ?
Maybe when we will be close to the release It would be good to check logs and 
see if scary logs can be hidden in common cases

{code}
mag 10, 2017 12:46:41 PM org.apache.bookkeeper.bookie.GarbageCollectorThread 
shutdown
INFORMAZIONI: Shutting down GarbageCollectorThread
mag 10, 2017 12:46:41 PM org.apache.bookkeeper.bookie.EntryLogger shutdown
INFORMAZIONI: Stopping EntryLogger
mag 10, 2017 12:46:41 PM 
org.apache.bookkeeper.bookie.ScanAndCompareGarbageCollector gc
AVVERTENZA: Exception when iterating over the metadata {}
java.io.IOException: Error when get child nodes from zk
        at 
org.apache.bookkeeper.meta.LongHierarchicalLedgerManager$LongHierarchicalLedgerRangeIterator.getLedgerRangeByLevel(LongHierarchicalLedgerManager.java:348)
        at 
org.apache.bookkeeper.meta.LongHierarchicalLedgerManager$LongHierarchicalLedgerRangeIterator.initialize(LongHierarchicalLedgerManager.java:240)
        at 
org.apache.bookkeeper.meta.LongHierarchicalLedgerManager$LongHierarchicalLedgerRangeIterator.initialize(LongHierarchicalLedgerManager.java:238)
        at 
org.apache.bookkeeper.meta.LongHierarchicalLedgerManager$LongHierarchicalLedgerRangeIterator.initialize(LongHierarchicalLedgerManager.java:238)
        at 
org.apache.bookkeeper.meta.LongHierarchicalLedgerManager$LongHierarchicalLedgerRangeIterator.initialize(LongHierarchicalLedgerManager.java:238)
        at 
org.apache.bookkeeper.meta.LongHierarchicalLedgerManager$LongHierarchicalLedgerRangeIterator.preload(LongHierarchicalLedgerManager.java:299)
        at 
org.apache.bookkeeper.meta.LongHierarchicalLedgerManager$LongHierarchicalLedgerRangeIterator.hasNext(LongHierarchicalLedgerManager.java:314)
        at 
org.apache.bookkeeper.bookie.ScanAndCompareGarbageCollector.gc(ScanAndCompareGarbageCollector.java:107)
        at 
org.apache.bookkeeper.bookie.GarbageCollectorThread.doGcLedgers(GarbageCollectorThread.java:385)
        at 
org.apache.bookkeeper.bookie.GarbageCollectorThread.safeRun(GarbageCollectorThread.java:344)
        at org.apache.bookkeeper.util.SafeRunnable.run(SafeRunnable.java:31)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.InterruptedException
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:502)
        at 
org.apache.bookkeeper.util.ZkUtils.getChildrenInSingleNode(ZkUtils.java:187)
        at 
org.apache.bookkeeper.meta.LongHierarchicalLedgerManager$LongHierarchicalLedgerRangeIterator.getLedgerRangeByLevel(LongHierarchicalLedgerManager.java:346)
        ... 17 more
{code}

> Fast shutdown for GarbageCollectorThread
> ----------------------------------------
>
>                 Key: BOOKKEEPER-1051
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-1051
>             Project: Bookkeeper
>          Issue Type: Improvement
>            Reporter: Matteo Merli
>            Assignee: Matteo Merli
>            Priority: Minor
>             Fix For: 4.5.0
>
>
> Several unit tests are taking very long time to complete (eg: 
> {{BookieLedgerIndexTest}} taking ~10 minutes). 
> The reason is that these tests are playing with the ZK quorum shutting it 
> down and after the test succeeds, the shutdown phase is taking long time, 
> since we try to do graceful shutdown with 1min wait time. 
> I think is better to interrupt immediately the garbage collector thread when 
> shutting down the bookie.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to