Julien,

Thanks for your suggestion , I looked at the jstack thread dumps , and I
could see that the fetcher threads are in a waiting state and actually the
map phase is not yet complete looking at the JobClient console.

14/10/15 12:09:48 INFO mapreduce.Job:  map 95% reduce 31%
14/10/16 07:11:20 INFO mapreduce.Job:  map 96% reduce 31%
14/10/17 01:20:56 INFO mapreduce.Job:  map 97% reduce 31%

And the following is the kind of statements I see in the jstack thread
dump  for Hadoop child processes, is it possible that these map tasks are
actually waiting on a particular host with some excessive crawl-delay , I
already had the fetcher.threads.per.queue to 5 , fetcher.server.delay to 0,
fetcher.max.crawl.delay to 10  and http.max.delays to 1000 .

Please see the jstack  log info for the child processes below.

Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode):

"Attach Listener" daemon prio=10 tid=0x00007fecf8c58000 nid=0x32e5 waiting
on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"IPC Client (638223659) connection to /170.75.153.162:40980 from
job_1413149941617_0059" daemon prio=10 tid=0x0000000001a5c000 nid=0xce8 in
Object.wait() [0x00007fecdf80e000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099f8bf48> (a
org.apache.hadoop.ipc.Client$Connection)
    at org.apache.hadoop.ipc.Client$Connection.waitForWork(Client.java:899)
    - locked <0x0000000099f8bf48> (a
org.apache.hadoop.ipc.Client$Connection)
    at org.apache.hadoop.ipc.Client$Connection.run(Client.java:944)

"fetcher#5" daemon prio=10 tid=0x00007fecf8c49000 nid=0xce7 in
Object.wait() [0x00007fecdf90f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at java.lang.Object.wait(Object.java:503)
    at
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.getHost(ShuffleSchedulerImpl.java:368)
    - locked <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:161)

"fetcher#4" daemon prio=10 tid=0x00007fecf8c47000 nid=0xce6 in
Object.wait() [0x00007fecdfa10000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at java.lang.Object.wait(Object.java:503)
    at
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.getHost(ShuffleSchedulerImpl.java:368)
    - locked <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:161)

"fetcher#3" daemon prio=10 tid=0x00007fecf8c45800 nid=0xce5 in
Object.wait() [0x00007fecdfb11000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at java.lang.Object.wait(Object.java:503)
    at
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.getHost(ShuffleSchedulerImpl.java:368)
    - locked <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:161)

"fetcher#2" daemon prio=10 tid=0x00007fecf8c31800 nid=0xce4 in
Object.wait() [0x00007fecdfc12000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at java.lang.Object.wait(Object.java:503)
    at
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.getHost(ShuffleSchedulerImpl.java:368)
    - locked <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:161)

"fetcher#1" daemon prio=10 tid=0x00007fecf8c2f800 nid=0xce3 in
Object.wait() [0x00007fecdfd13000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at java.lang.Object.wait(Object.java:503)
    at
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.getHost(ShuffleSchedulerImpl.java:368)
    - locked <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:161)

"EventFetcher for fetching Map Completion Events" daemon prio=10
tid=0x00007fecf8c2d800 nid=0xce2 waiting on condition [0x00007fecdfe14000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at
org.apache.hadoop.mapreduce.task.reduce.EventFetcher.run(EventFetcher.java:73)

"OnDiskMerger - Thread to merge on-disk map-outputs" daemon prio=10
tid=0x00007fecf8c26800 nid=0xce1 in Object.wait() [0x00007fecdff15000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099f63918> (a java.util.LinkedList)
    at java.lang.Object.wait(Object.java:503)
    at
org.apache.hadoop.mapreduce.task.reduce.MergeThread.run(MergeThread.java:87)
    - locked <0x0000000099f63918> (a java.util.LinkedList)

"InMemoryMerger - Thread to merge in-memory shuffled map-outputs" daemon
prio=10 tid=0x00007fecf8c22800 nid=0xce0 in Object.wait()
[0x00007fece0016000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099f61f90> (a java.util.LinkedList)
    at java.lang.Object.wait(Object.java:503)
    at
org.apache.hadoop.mapreduce.task.reduce.MergeThread.run(MergeThread.java:87)
    - locked <0x0000000099f61f90> (a java.util.LinkedList)

"ShufflePenaltyReferee" daemon prio=10 tid=0x00007fecf8c1a000 nid=0xcdf
waiting on condition [0x00007fece0117000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000099f63100> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
    at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:209)
    at
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl$Referee.run(ShuffleSchedulerImpl.java:488)

"communication thread" daemon prio=10 tid=0x00007fecf8c0b000 nid=0xcd8 in
Object.wait() [0x00007fece022e000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099f5ef30> (a java.lang.Object)
    at org.apache.hadoop.mapred.Task$TaskReporter.run(Task.java:719)
    - locked <0x0000000099f5ef30> (a java.lang.Object)
    at java.lang.Thread.run(Thread.java:744)

"Thread for syncLogs" daemon prio=10 tid=0x00007fecf8a93800 nid=0xcd2
waiting on condition [0x00007fece0430000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000099b9c710> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
    at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)
    at
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
    at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)

"IPC Parameter Sending Thread #0" daemon prio=10 tid=0x00007fecf8a9f000
nid=0xcc7 waiting on condition [0x00007fece032f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000099b526c0> (a
java.util.concurrent.SynchronousQueue$TransferStack)
    at
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
    at
java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
    at
java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)
    at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)

"Timer for 'ReduceTask' metrics system" daemon prio=10
tid=0x00007fecf8958000 nid=0xcc1 in Object.wait() [0x00007fece0b98000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099b9cce0> (a java.util.TaskQueue)
    at java.util.TimerThread.mainLoop(Timer.java:552)
    - locked <0x0000000099b9cce0> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:505)

"Service Thread" daemon prio=10 tid=0x00007fecf80a4800 nid=0xc6b runnable
[0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=10 tid=0x00007fecf80a2800 nid=0xc6a
waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=10 tid=0x00007fecf809f800 nid=0xc69
waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x00007fecf8095000 nid=0xc68
runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x00007fecf807e000 nid=0xc60 in
Object.wait() [0x00007fecec83c000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099a1e040> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
    - locked <0x0000000099a1e040> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)

"Reference Handler" daemon prio=10 tid=0x00007fecf807a000 nid=0xc5f in
Object.wait() [0x00007fecec93d000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099aeb3e0> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:503)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
    - locked <0x0000000099aeb3e0> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x00007fecf800f800 nid=0xc4f in Object.wait()
[0x00007fed00948000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.waitUntilDone(ShuffleSchedulerImpl.java:443)
    - locked <0x0000000099f62a68> (a
org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl)
    at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:129)
    at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:376)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)

"VM Thread" prio=10 tid=0x00007fecf8077800 nid=0xc5e runnable

"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007fecf8025800 nid=0xc54
runnable

"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007fecf8027000 nid=0xc55
runnable

"GC task thread#2 (ParallelGC)" prio=10 tid=0x00007fecf8029000 nid=0xc56
runnable

"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007fecf802b000 nid=0xc57
runnable

"GC task thread#4 (ParallelGC)" prio=10 tid=0x00007fecf802c800 nid=0xc58
runnable

"GC task thread#5 (ParallelGC)" prio=10 tid=0x00007fecf802e800 nid=0xc59
runnable

"GC task thread#6 (ParallelGC)" prio=10 tid=0x00007fecf8030800 nid=0xc5a
runnable

"GC task thread#7 (ParallelGC)" prio=10 tid=0x00007fecf8032800 nid=0xc5b
runnable

"VM Periodic Task Thread" prio=10 tid=0x00007fecf80af800 nid=0xc6c waiting
on condition

JNI global references: 255



On Thu, Oct 16, 2014 at 5:20 AM, Julien Nioche <
lists.digitalpeb...@gmail.com> wrote:

> Hi Meraj
>
> You could call jstack on the Java process a couple of times to see what it
> is busy doing, that will be a simple of way of checking that this is indeed
> the source of the problem.
> See https://issues.apache.org/jira/browse/NUTCH-1314 for a possible
> solution
>
> J.
>
> On 16 October 2014 06:08, Meraj A. Khan <mera...@gmail.com> wrote:
>
> > Hi All,
> >
> > I am running into a situation where the reduce phase of the fetch job
> with
> > parsing enabled at the time of fetch is taking excessively long amount of
> > time , I have seen recommendations to filter the URLs based on length to
> > avoid normalization related delays ,I am not filtering any URLs based on
> > length , could that be an issue ?
> >
> > Can anyone share if they faced this issue and what the resolution was, I
> am
> > running Nutch 1.7 on Hadoop YARN.
> >
> > The issue was previously inconclusively discussed here.
> >
> >
> >
> http://markmail.org/message/p6dzvvycpfzbaugr#query:+page:1+mid:p6dzvvycpfzbaugr+state:results
> >
> > Thanks.
> >
>
>
>
> --
>
> Open Source Solutions for Text Engineering
>
> http://digitalpebble.blogspot.com/
> http://www.digitalpebble.com
> http://twitter.com/digitalpebble
>

Reply via email to