Thank you Jason, your reply is helpful.

2010/2/23 Jason Venner <jason.had...@gmail.com>

> Someone is using a threadpool that does not have daemon priority
> threads, and that is not shutdown before the main method returns.
> The non daemon threads prevent the jvm from exiting.
> We had this problem for a while and modified the Child.main to exit,
> rather than trying to work out and fix the third party library that
> ran the thread pool. This thecnique does of  prevent jvm reuse.
>
> On Sat, Feb 20, 2010 at 6:49 AM, Ted Yu <yuzhih...@gmail.com> wrote:
> > Do you have System.exit() as the last line in your main() ?
> >    Job job = createSubmittableJob(conf, otherArgs);
> >    System.exit(job.waitForCompletion(true)? 0 : 1);
> >
> >
> > On Sat, Feb 20, 2010 at 12:32 AM, Zheng Lv <lvzheng19800...@gmail.com
> >wrote:
> >
> >> Hello Ted,
> >>  Yes. Every hour a job will be created and started, and when it
> finished,
> >> it will maintain. The logs looks like normal, do you know what can lead
> to
> >> this happen?Thank you.
> >>    LvZheng
> >> 2010/2/20 Ted Yu <yuzhih...@gmail.com>
> >>
> >> > Did the number of child processes increase over time ?
> >> >
> >> > On Friday, February 19, 2010, Zheng Lv <lvzheng19800...@gmail.com>
> >> wrote:
> >> > > Hello Edson,
> >> > >   Thank you for your reply. I don't want to kill them, I want to
> know
> >> why
> >> > > these child processes don't exit, and to know how to make them exit
> >> > > successfully when they finish. Any ideas? Thank you.
> >> > >     LvZheng
> >> > >
> >> > > 2010/2/18 Edson Ramiro <erlfi...@gmail.com>
> >> > >
> >> > >> Do you want to kill them ?
> >> > >>
> >> > >> if yes, you can use
> >> > >>
> >> > >>  ./bin/slaves.sh pkill java
> >> > >>
> >> > >> but it will kill the datanode and tasktracker processes
> >> > >> in all slaves and you'll need to start these processes again.
> >> > >>
> >> > >> Edson Ramiro
> >> > >>
> >> > >>
> >> > >> On 14 February 2010 22:09, Zheng Lv <lvzheng19800...@gmail.com>
> >> wrote:
> >> > >>
> >> > >> > any idea?
> >> > >> >
> >> > >> > 2010/2/11 Zheng Lv <lvzheng19800...@gmail.com>
> >> > >> >
> >> > >> > > Hello Everyone,
> >> > >> > >   We often find many child processes in datanodes, which have
> >> > already
> >> > >> > > finished for long time. And following are the jstack log:
> >> > >> > >   Full thread dump Java HotSpot(TM) 64-Bit Server VM (14.3-b01
> >> mixed
> >> > >> > mode):
> >> > >> > > "DestroyJavaVM" prio=10 tid=0x00002aaac8019800 nid=0x2422
> waiting
> >> on
> >> > >> > > condition [0x0000000000000000]
> >> > >> > >    java.lang.Thread.State: RUNNABLE
> >> > >> > > "NioProcessor-31" prio=10 tid=0x00000000439fa000 nid=0x2826
> >> runnable
> >> > >> > > [0x000000004100a000]
> >> > >> > >    java.lang.Thread.State: RUNNABLE
> >> > >> > >         at sun.nio.ch.EPollArrayWrapper.epollWait(Native
> Method)
> >> > >> > >         at
> >> > >> sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:215)
> >> > >> > >         at
> >> > >> > sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
> >> > >> > >         at
> >> > >> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
> >> > >> > >         - locked <0x00002aaab9b5f6f8> (a sun.nio.ch.Util$1)
> >> > >> > >         - locked <0x00002aaab9b5f710> (a
> >> > >> > > java.util.Collections$UnmodifiableSet)
> >> > >> > >         - locked <0x00002aaab9b5f680> (a
> >> > sun.nio.ch.EPollSelectorImpl)
> >> > >> > >         at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
> >> > >> > >         at
> >> > >> > >
> >> > >> >
> >> > >>
> >> >
> >>
> org.apache.mina.transport.socket.nio.NioProcessor.select(NioProcessor.java:65)
> >> > >> > >         at
> >> > >> > >
> >> > >> >
> >> > >>
> >> >
> >>
> org.apache.mina.common.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:672)
> >> > >> > >         at
> >> > >> > >
> >> > >> >
> >> > >>
> >> >
> >>
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
> >> > >> > >         at
> >> > >> > >
> >> > >> >
> >> > >>
> >> >
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> >> > >> > >         at
> >> > >> > >
> >> > >> >
> >> > >>
> >> >
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> >> > >> > >         at java.lang.Thread.run(Thread.java:619)
> >> > >> > > "pool-15-thread-1" prio=10 tid=0x00002aaac802d000 nid=0x2825
> >> waiting
> >> > on
> >> > >> > > condition [0x0000000041604000]
> >> > >> > >    java.lang.Thread.State: WAITING (parking)
> >> > >> > >         at sun.misc.Unsafe.park(Native Method)
> >> > >> > >         - parking to wait for  <0x00002aaab9b61620> (a
> >> > >> > >
> >> > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> >> > >> > >         at
> >> > >> > >
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> >> > >> > >         at
> >> > >> > >
> >> > >> >
> >> > >>
> >> >
> >>
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
> >> > >> > >         at
> >> > >> > >
> >> > >> >
> >> > >>
> >> >
> >>
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
> >> > >> > >         at
> >> > >> > >
> >> > >> >
> >> > >>
> >> >
> >>
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
> >> > >> > >         at
> >> > >> > >
> >> > >> >
> >> > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(Threa
> >> >
> >>
> >
>
>
>
> --
> Pro Hadoop, a book to guide you from beginner to hadoop mastery,
> http://www.amazon.com/dp/1430219424?tag=jewlerymall
> www.prohadoopbook.com a community for Hadoop Professionals
>

Reply via email to