I think your thread dump for the master is actually just a thread dump for SBT that is waiting on a forked driver program.
... java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00007fed624ff528> (a java.lang.UNIXProcess) at java.lang.Object.wait(Object.java:503) at java.lang.UNIXProcess.waitFor(UNIXProcess.java:263) - locked <0x00007fed624ff528> (a java.lang.UNIXProcess) at sbt.SimpleProcess.exitValue(ProcessImpl.scala:377) ... Additionally, no work seems to be happening on the worker. I think you want to jstack the process "ForkMain". On Wed, Apr 8, 2015 at 2:37 AM, Hao Ren <inv...@gmail.com> wrote: > Hi Michael, > > In fact, I find that all workers are hanging when SQL/DF join is running. > > So I picked the master and one of the workers. jstack is the following: > > Master > > ------------------------------------------------------------------------------------------------------------------------ > 2015-04-08 09:08:22 > Full thread dump OpenJDK 64-Bit Server VM (24.65-b04 mixed mode): > > "Thread-3" prio=10 tid=0x00007fdbe0013000 nid=0x2836 runnable > [0x00007fdd0cd89000] > java.lang.Thread.State: RUNNABLE > at java.io.FileInputStream.readBytes(Native Method) > at java.io.FileInputStream.read(FileInputStream.java:272) > at java.io.BufferedInputStream.read1(BufferedInputStream.java:273) > at java.io.BufferedInputStream.read(BufferedInputStream.java:334) > - locked <0x00007fed62503a00> (a > java.lang.UNIXProcess$ProcessPipeInputStream) > at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283) > at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325) > at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177) > - locked <0x00007fed95527048> (a java.io.InputStreamReader) > at java.io.InputStreamReader.read(InputStreamReader.java:184) > at java.io.BufferedReader.fill(BufferedReader.java:154) > at java.io.BufferedReader.readLine(BufferedReader.java:317) > - locked <0x00007fed95527048> (a java.io.InputStreamReader) > at java.io.BufferedReader.readLine(BufferedReader.java:382) > at > sbt.BasicIO$$anonfun$processFully$1$$anonfun$apply$8.apply(ProcessImpl.scala:58) > at > sbt.BasicIO$$anonfun$processFully$1$$anonfun$apply$8.apply(ProcessImpl.scala:58) > at sbt.BasicIO$.readFully$1(ProcessImpl.scala:63) > at sbt.BasicIO$.processLinesFully(ProcessImpl.scala:69) > at sbt.BasicIO$$anonfun$processFully$1.apply(ProcessImpl.scala:58) > at sbt.BasicIO$$anonfun$processFully$1.apply(ProcessImpl.scala:55) > at sbt.SimpleProcessBuilder$$anonfun$4.apply$mcV$sp(ProcessImpl.scala:357) > at sbt.Spawn$$anon$3.run(ProcessImpl.scala:17) > > "Thread-2" prio=10 tid=0x00007fdbe0010000 nid=0x2835 runnable > [0x00007fdd0d995000] > java.lang.Thread.State: RUNNABLE > at java.io.FileInputStream.readBytes(Native Method) > at java.io.FileInputStream.read(FileInputStream.java:272) > at java.io.BufferedInputStream.read1(BufferedInputStream.java:273) > at java.io.BufferedInputStream.read(BufferedInputStream.java:334) > - locked <0x00007fed625018b8> (a > java.lang.UNIXProcess$ProcessPipeInputStream) > at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283) > at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325) > at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177) > - locked <0x00007fed8cc9d8b8> (a java.io.InputStreamReader) > at java.io.InputStreamReader.read(InputStreamReader.java:184) > at java.io.BufferedReader.fill(BufferedReader.java:154) > at java.io.BufferedReader.readLine(BufferedReader.java:317) > - locked <0x00007fed8cc9d8b8> (a java.io.InputStreamReader) > at java.io.BufferedReader.readLine(BufferedReader.java:382) > at > sbt.BasicIO$$anonfun$processFully$1$$anonfun$apply$8.apply(ProcessImpl.scala:58) > at > sbt.BasicIO$$anonfun$processFully$1$$anonfun$apply$8.apply(ProcessImpl.scala:58) > at sbt.BasicIO$.readFully$1(ProcessImpl.scala:63) > at sbt.BasicIO$.processLinesFully(ProcessImpl.scala:69) > at sbt.BasicIO$$anonfun$processFully$1.apply(ProcessImpl.scala:58) > at sbt.BasicIO$$anonfun$processFully$1.apply(ProcessImpl.scala:55) > at sbt.SimpleProcessBuilder$$anonfun$3.apply$mcV$sp(ProcessImpl.scala:354) > at sbt.Spawn$$anon$3.run(ProcessImpl.scala:17) > > "pool-5-thread-5" prio=10 tid=0x00007ff16034a000 nid=0x2832 waiting on > condition [0x00007fdd0da96000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feacd0621d0> (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:745) > > "pool-5-thread-4" prio=10 tid=0x00007ff160349800 nid=0x2831 waiting on > condition [0x00007fdd0d894000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feacd0621d0> (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:745) > > "pool-5-thread-3" prio=10 tid=0x00007ff160349000 nid=0x2830 waiting on > condition [0x00007fdd0d692000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feacd0621d0> (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:745) > > "pool-5-thread-2" prio=10 tid=0x00007ff160348000 nid=0x282f in > Object.wait() [0x00007fdd0d38e000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00007fed624ff528> (a java.lang.UNIXProcess) > at java.lang.Object.wait(Object.java:503) > at java.lang.UNIXProcess.waitFor(UNIXProcess.java:263) > - locked <0x00007fed624ff528> (a java.lang.UNIXProcess) > at sbt.SimpleProcess.exitValue(ProcessImpl.scala:377) > at sbt.ForkRun.run(Run.scala:32) > at > sbt.Defaults$$anonfun$runMainTask$1$$anonfun$apply$34$$anonfun$apply$35.apply(Defaults.scala:697) > at > sbt.Defaults$$anonfun$runMainTask$1$$anonfun$apply$34$$anonfun$apply$35.apply(Defaults.scala:695) > at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) > at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40) > at sbt.std.Transform$$anon$4.work(System.scala:63) > at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226) > at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226) > at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17) > at sbt.Execute.work(Execute.scala:235) > at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226) > at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226) > at > sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159) > at sbt.CompletionService$$anon$2.call(CompletionService.scala:28) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > "pool-5-thread-1" prio=10 tid=0x00007ff160347800 nid=0x282e waiting on > condition [0x00007fdd0d08c000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feacd0621d0> (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:745) > > "Attach Listener" daemon prio=10 tid=0x00007fdc28001000 nid=0x282d waiting > on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "ForkJoinPool-1-worker-15" daemon prio=10 tid=0x00007fdbdc004000 > nid=0x2812 waiting on condition [0x00007fdcff4ad000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feb0cd24a08> (a > scala.concurrent.forkjoin.ForkJoinPool) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2075) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "ForkJoinPool-1-worker-1" daemon prio=10 tid=0x00007fdbf409f800 nid=0x2811 > waiting on condition [0x00007fdcff5ae000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feb0cd24a08> (a > scala.concurrent.forkjoin.ForkJoinPool) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2075) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "ForkJoinPool-1-worker-5" daemon prio=10 tid=0x00007fdbe4026800 nid=0x2810 > waiting on condition [0x00007fdd0c150000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feb0cd24a08> (a > scala.concurrent.forkjoin.ForkJoinPool) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2075) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "ForkJoinPool-1-worker-19" daemon prio=10 tid=0x00007fdbd0008800 > nid=0x280e waiting on condition [0x00007fdd0c352000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feb0cd24a08> (a > scala.concurrent.forkjoin.ForkJoinPool) > at > scala.concurrent.forkjoin.ForkJoinPool.idleAwaitWork(ForkJoinPool.java:2135) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2067) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "ForkJoinPool-1-worker-23" daemon prio=10 tid=0x00007fdbf8004800 > nid=0x280d waiting on condition [0x00007fdd0c453000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feb0cd24a08> (a > scala.concurrent.forkjoin.ForkJoinPool) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2075) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "ForkJoinPool-1-worker-31" daemon prio=10 tid=0x00007fdbd0006000 > nid=0x280c waiting on condition [0x00007fdd0cf8b000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feb0cd24a08> (a > scala.concurrent.forkjoin.ForkJoinPool) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2075) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "ForkJoinPool-1-worker-13" daemon prio=10 tid=0x00007fdbf8004000 > nid=0x280b waiting on condition [0x00007fdd0ce8a000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feb0cd24a08> (a > scala.concurrent.forkjoin.ForkJoinPool) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2075) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "ForkJoinPool-1-worker-3" daemon prio=10 tid=0x00007fdbe4024800 nid=0x2808 > waiting on condition [0x00007fdd0d490000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feb0cd24a08> (a > scala.concurrent.forkjoin.ForkJoinPool) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2075) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "process reaper" daemon prio=10 tid=0x00007ff160886000 nid=0x27af runnable > [0x00007fdd0dadd000] > java.lang.Thread.State: RUNNABLE > at java.lang.UNIXProcess.waitForProcessExit(Native Method) > at java.lang.UNIXProcess.access$500(UNIXProcess.java:54) > at java.lang.UNIXProcess$4.run(UNIXProcess.java:227) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > "Service Thread" daemon prio=10 tid=0x00007ff1602a9800 nid=0x27ac runnable > [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "C2 CompilerThread1" daemon prio=10 tid=0x00007ff1602a7000 nid=0x27ab > waiting on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "C2 CompilerThread0" daemon prio=10 tid=0x00007ff1602a4000 nid=0x27aa > waiting on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "Signal Dispatcher" daemon prio=10 tid=0x00007ff1602a2000 nid=0x27a9 > runnable [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "Finalizer" daemon prio=10 tid=0x00007ff160275000 nid=0x27a8 in > Object.wait() [0x00007fdd0e6e5000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00007fefb26280a8> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) > - locked <0x00007fefb26280a8> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) > at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) > > "Reference Handler" daemon prio=10 tid=0x00007ff160273000 nid=0x27a7 in > Object.wait() [0x00007fdd0e7e6000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00007fefb263c0b8> (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 <0x00007fefb263c0b8> (a java.lang.ref.Reference$Lock) > > "main" prio=10 tid=0x00007ff160009000 nid=0x2798 waiting on condition > [0x00007ff1695b3000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00007feacd062538> (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.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) > at > java.util.concurrent.ExecutorCompletionService.take(ExecutorCompletionService.java:193) > at > sbt.ConcurrentRestrictions$$anon$4.take(ConcurrentRestrictions.scala:188) > at sbt.Execute.next$1(Execute.scala:83) > at sbt.Execute.processAll(Execute.scala:86) > at sbt.Execute.runKeep(Execute.scala:66) > at sbt.EvaluateTask$.liftedTree1$1(EvaluateTask.scala:342) > at sbt.EvaluateTask$.run$1(EvaluateTask.scala:341) > at sbt.EvaluateTask$.runTask(EvaluateTask.scala:361) > at sbt.Aggregation$$anonfun$3.apply(Aggregation.scala:64) > at sbt.Aggregation$$anonfun$3.apply(Aggregation.scala:62) > at sbt.EvaluateTask$.withStreams(EvaluateTask.scala:293) > at sbt.Aggregation$.timedRun(Aggregation.scala:62) > at sbt.Aggregation$.runTasks(Aggregation.scala:71) > at > sbt.Aggregation$$anonfun$applyDynamicTasks$1.apply(Aggregation.scala:112) > at > sbt.Aggregation$$anonfun$applyDynamicTasks$1.apply(Aggregation.scala:110) > at > sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:60) > at > sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:60) > at > sbt.Act$$anonfun$sbt$Act$$actParser0$1$$anonfun$sbt$Act$$anonfun$$evaluate$1$1$$anonfun$apply$10.apply(Act.scala:244) > at > sbt.Act$$anonfun$sbt$Act$$actParser0$1$$anonfun$sbt$Act$$anonfun$$evaluate$1$1$$anonfun$apply$10.apply(Act.scala:241) > at sbt.Command$.process(Command.scala:92) > at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98) > at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98) > at sbt.State$$anon$1.process(State.scala:184) > at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98) > at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98) > at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17) > at sbt.MainLoop$.next(MainLoop.scala:98) > at sbt.MainLoop$.run(MainLoop.scala:91) > at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70) > at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65) > at sbt.Using.apply(Using.scala:24) > at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65) > at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48) > at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32) > at sbt.MainLoop$.runLogged(MainLoop.scala:24) > at sbt.StandardMain$.runManaged(Main.scala:53) > at sbt.xMain.run(Main.scala:28) > at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) > at xsbt.boot.Launch$.withContextLoader(Launch.scala:128) > at xsbt.boot.Launch$.run(Launch.scala:109) > at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) > at xsbt.boot.Launch$.launch(Launch.scala:117) > at xsbt.boot.Launch$.apply(Launch.scala:18) > at xsbt.boot.Boot$.runImpl(Boot.scala:41) > at xsbt.boot.Boot$.main(Boot.scala:17) > at xsbt.boot.Boot.main(Boot.scala) > > "VM Thread" prio=10 tid=0x00007ff16026f000 nid=0x27a6 runnable > > "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007ff16001e800 nid=0x2799 > runnable > > "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007ff160020800 nid=0x279a > runnable > > "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007ff160022800 nid=0x279b > runnable > > "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007ff160024000 nid=0x279c > runnable > > "GC task thread#4 (ParallelGC)" prio=10 tid=0x00007ff160026000 nid=0x279d > runnable > > "GC task thread#5 (ParallelGC)" prio=10 tid=0x00007ff160028000 nid=0x279e > runnable > > "GC task thread#6 (ParallelGC)" prio=10 tid=0x00007ff16002a000 nid=0x279f > runnable > > "GC task thread#7 (ParallelGC)" prio=10 tid=0x00007ff16002b800 nid=0x27a0 > runnable > > "GC task thread#8 (ParallelGC)" prio=10 tid=0x00007ff16002d800 nid=0x27a1 > runnable > > "GC task thread#9 (ParallelGC)" prio=10 tid=0x00007ff16002f800 nid=0x27a2 > runnable > > "GC task thread#10 (ParallelGC)" prio=10 tid=0x00007ff160031000 nid=0x27a3 > runnable > > "GC task thread#11 (ParallelGC)" prio=10 tid=0x00007ff160033000 nid=0x27a4 > runnable > > "GC task thread#12 (ParallelGC)" prio=10 tid=0x00007ff160035000 nid=0x27a5 > runnable > > "VM Periodic Task Thread" prio=10 tid=0x00007ff1602b4000 nid=0x27ad > waiting on condition > > JNI global references: 187 > > > Slave > > ------------------------------------------------------------------------------------------------------------------------------------------------ > 2015-04-08 09:10:02 > Full thread dump OpenJDK 64-Bit Server VM (24.65-b04 mixed mode): > > "Attach Listener" daemon prio=10 tid=0x00007f1454001000 nid=0x5640 waiting > on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "File appending thread for > /root/spark/work/app-20150408090735-0010/2/stderr" daemon prio=10 > tid=0x00007f1410003000 nid=0x546d runnable [0x00007f14593d0000] > java.lang.Thread.State: RUNNABLE > at java.io.FileInputStream.readBytes(Native Method) > at java.io.FileInputStream.read(FileInputStream.java:272) > at java.io.BufferedInputStream.read1(BufferedInputStream.java:273) > at java.io.BufferedInputStream.read(BufferedInputStream.java:334) > - locked <0x00000000f844db20> (a > java.lang.UNIXProcess$ProcessPipeInputStream) > at java.io.FilterInputStream.read(FilterInputStream.java:107) > at > org.apache.spark.util.logging.FileAppender.appendStreamToFile(FileAppender.scala:70) > at > org.apache.spark.util.logging.FileAppender$$anon$1$$anonfun$run$1.apply$mcV$sp(FileAppender.scala:39) > at > org.apache.spark.util.logging.FileAppender$$anon$1$$anonfun$run$1.apply(FileAppender.scala:39) > at > org.apache.spark.util.logging.FileAppender$$anon$1$$anonfun$run$1.apply(FileAppender.scala:39) > at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1618) > at > org.apache.spark.util.logging.FileAppender$$anon$1.run(FileAppender.scala:38) > > "File appending thread for > /root/spark/work/app-20150408090735-0010/2/stdout" daemon prio=10 > tid=0x00007f1410002000 nid=0x546c runnable [0x00007f14594d1000] > java.lang.Thread.State: RUNNABLE > at java.io.FileInputStream.readBytes(Native Method) > at java.io.FileInputStream.read(FileInputStream.java:272) > at java.io.BufferedInputStream.read1(BufferedInputStream.java:273) > at java.io.BufferedInputStream.read(BufferedInputStream.java:334) > - locked <0x00000000f844ba58> (a > java.lang.UNIXProcess$ProcessPipeInputStream) > at java.io.FilterInputStream.read(FilterInputStream.java:107) > at > org.apache.spark.util.logging.FileAppender.appendStreamToFile(FileAppender.scala:70) > at > org.apache.spark.util.logging.FileAppender$$anon$1$$anonfun$run$1.apply$mcV$sp(FileAppender.scala:39) > at > org.apache.spark.util.logging.FileAppender$$anon$1$$anonfun$run$1.apply(FileAppender.scala:39) > at > org.apache.spark.util.logging.FileAppender$$anon$1$$anonfun$run$1.apply(FileAppender.scala:39) > at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1618) > at > org.apache.spark.util.logging.FileAppender$$anon$1.run(FileAppender.scala:38) > > "process reaper" daemon prio=10 tid=0x00007f1410001000 nid=0x544a runnable > [0x00007f14900cc000] > java.lang.Thread.State: RUNNABLE > at java.lang.UNIXProcess.waitForProcessExit(Native Method) > at java.lang.UNIXProcess.access$500(UNIXProcess.java:54) > at java.lang.UNIXProcess$4.run(UNIXProcess.java:227) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > "ExecutorRunner for app-20150408090735-0010/2" daemon prio=10 > tid=0x00007f143400a800 nid=0x5448 in Object.wait() [0x00007f14592cf000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000000f84497a0> (a java.lang.UNIXProcess) > at java.lang.Object.wait(Object.java:503) > at java.lang.UNIXProcess.waitFor(UNIXProcess.java:263) > - locked <0x00000000f84497a0> (a java.lang.UNIXProcess) > at > org.apache.spark.deploy.worker.ExecutorRunner.fetchAndRunExecutor(ExecutorRunner.scala:163) > at > org.apache.spark.deploy.worker.ExecutorRunner$$anon$1.run(ExecutorRunner.scala:68) > > "Hashed wheel timer #1" daemon prio=10 tid=0x00007f1420001000 nid=0xe93 > waiting on condition [0x00007f14595d2000] > java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at > org.jboss.netty.util.HashedWheelTimer$Worker.waitForNextTick(HashedWheelTimer.java:483) > at > org.jboss.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:392) > at > org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) > at java.lang.Thread.run(Thread.java:745) > > "qtp1611672401-32" daemon prio=10 tid=0x00007f14380c5000 nid=0xe92 waiting > on condition [0x00007f14596d3000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000fd6104d8> (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 > org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) > at java.lang.Thread.run(Thread.java:745) > > "qtp1611672401-31" daemon prio=10 tid=0x00007f14380c3000 nid=0xe91 waiting > on condition [0x00007f14597d4000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000fd6104d8> (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 > org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) > at java.lang.Thread.run(Thread.java:745) > > "qtp1611672401-30" daemon prio=10 tid=0x00007f14380c1000 nid=0xe90 waiting > on condition [0x00007f14598d5000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000fd6104d8> (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 > org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) > at java.lang.Thread.run(Thread.java:745) > > "qtp1611672401-29" daemon prio=10 tid=0x00007f14380bf800 nid=0xe8f waiting > on condition [0x00007f14599d6000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000fd6104d8> (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 > org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) > at java.lang.Thread.run(Thread.java:745) > > "qtp1611672401-28 Acceptor1 SelectChannelConnector@0.0.0.0:8081" daemon > prio=10 tid=0x00007f14380be000 nid=0xe8e waiting for monitor entry > [0x00007f1459ad7000] > java.lang.Thread.State: BLOCKED (on object monitor) > at > sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:225) > - waiting to lock <0x00000000fd600598> (a java.lang.Object) > at > org.eclipse.jetty.server.nio.SelectChannelConnector.accept(SelectChannelConnector.java:109) > at > org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:938) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:745) > > "qtp1611672401-27 Acceptor0 SelectChannelConnector@0.0.0.0:8081" daemon > prio=10 tid=0x00007f14380bc800 nid=0xe8d runnable [0x00007f146c165000] > java.lang.Thread.State: RUNNABLE > at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) > at > sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:241) > - locked <0x00000000fd600598> (a java.lang.Object) > at > org.eclipse.jetty.server.nio.SelectChannelConnector.accept(SelectChannelConnector.java:109) > at > org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:938) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:745) > > "qtp1611672401-26 Selector1" daemon prio=10 tid=0x00007f14380ba800 > nid=0xe8c runnable [0x00007f146c266000] > java.lang.Thread.State: RUNNABLE > at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) > at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269) > at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) > - locked <0x00000000fd648118> (a sun.nio.ch.Util$2) > - locked <0x00000000fd648128> (a java.util.Collections$UnmodifiableSet) > - locked <0x00000000fd6480d0> (a sun.nio.ch.EPollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) > at > org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:569) > at org.eclipse.jetty.io.nio.SelectorManager$1.run(SelectorManager.java:290) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:745) > > "qtp1611672401-25 Selector0" daemon prio=10 tid=0x00007f14380b4000 > nid=0xe8b runnable [0x00007f146c367000] > java.lang.Thread.State: RUNNABLE > at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) > at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269) > at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) > - locked <0x00000000fd624230> (a sun.nio.ch.Util$2) > - locked <0x00000000fd624240> (a java.util.Collections$UnmodifiableSet) > - locked <0x00000000fd6241e8> (a sun.nio.ch.EPollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) > at > org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:569) > at org.eclipse.jetty.io.nio.SelectorManager$1.run(SelectorManager.java:290) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:745) > > "New I/O server boss #6" daemon prio=10 tid=0x00007f14300c7000 nid=0xe88 > runnable [0x00007f146c468000] > java.lang.Thread.State: RUNNABLE > at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) > at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269) > at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) > - locked <0x00000000fd6301c8> (a sun.nio.ch.Util$2) > - locked <0x00000000fd6301d8> (a java.util.Collections$UnmodifiableSet) > - locked <0x00000000fd630180> (a sun.nio.ch.EPollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102) > at > org.jboss.netty.channel.socket.nio.NioServerBoss.select(NioServerBoss.java:163) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212) > at > org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42) > at > org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) > at > org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > "New I/O worker #5" daemon prio=10 tid=0x00007f14300c0000 nid=0xe87 > runnable [0x00007f146c569000] > java.lang.Thread.State: RUNNABLE > at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) > at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269) > at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) > - locked <0x00000000fd6106a0> (a sun.nio.ch.Util$2) > - locked <0x00000000fd6106b0> (a java.util.Collections$UnmodifiableSet) > - locked <0x00000000fd610658> (a sun.nio.ch.EPollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) > at > org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:415) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212) > at > org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) > at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) > at > org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) > at > org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > "New I/O worker #4" daemon prio=10 tid=0x00007f1430043000 nid=0xe86 > runnable [0x00007f146c66a000] > java.lang.Thread.State: RUNNABLE > at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) > at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269) > at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) > - locked <0x00000000fd6006d0> (a sun.nio.ch.Util$2) > - locked <0x00000000fd6006e0> (a java.util.Collections$UnmodifiableSet) > - locked <0x00000000fd600688> (a sun.nio.ch.EPollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) > at > org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:415) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212) > at > org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) > at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) > at > org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) > at > org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > "New I/O boss #3" daemon prio=10 tid=0x00007f14300c2800 nid=0xe85 runnable > [0x00007f146c76b000] > java.lang.Thread.State: RUNNABLE > at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) > at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269) > at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) > - locked <0x00000000fd640318> (a sun.nio.ch.Util$2) > - locked <0x00000000fd640328> (a java.util.Collections$UnmodifiableSet) > - locked <0x00000000fd6402d0> (a sun.nio.ch.EPollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) > at > org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:415) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212) > at > org.jboss.netty.channel.socket.nio.NioClientBoss.run(NioClientBoss.java:42) > at > org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) > at > org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > "New I/O worker #2" daemon prio=10 tid=0x00007f1430054800 nid=0xe84 > runnable [0x00007f146c86c000] > java.lang.Thread.State: RUNNABLE > at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) > at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269) > at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) > - locked <0x00000000fd6182c8> (a sun.nio.ch.Util$2) > - locked <0x00000000fd6182d8> (a java.util.Collections$UnmodifiableSet) > - locked <0x00000000fd618280> (a sun.nio.ch.EPollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) > at > org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:415) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212) > at > org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) > at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) > at > org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) > at > org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > "New I/O worker #1" daemon prio=10 tid=0x00007f1430020800 nid=0xe83 > runnable [0x00007f146c96d000] > java.lang.Thread.State: RUNNABLE > at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) > at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269) > at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) > - locked <0x00000000fd618538> (a sun.nio.ch.Util$2) > - locked <0x00000000fd618548> (a java.util.Collections$UnmodifiableSet) > - locked <0x00000000fd6184f0> (a sun.nio.ch.EPollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) > at > org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:415) > at > org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:212) > at > org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) > at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) > at > org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) > at > org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > "sparkWorker-akka.remote.default-remote-dispatcher-6" daemon prio=10 > tid=0x00007f149453e800 nid=0xe82 waiting on condition [0x00007f146ca6e000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000fd640730> (a > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool) > at > scala.concurrent.forkjoin.ForkJoinPool.idleAwaitWork(ForkJoinPool.java:2135) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2067) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "sparkWorker-akka.remote.default-remote-dispatcher-5" daemon prio=10 > tid=0x00007f1438004800 nid=0xe81 waiting on condition [0x00007f146cb6f000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000fd640730> (a > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2075) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "sparkWorker-akka.actor.default-dispatcher-4" daemon prio=10 > tid=0x00007f1438001800 nid=0xe80 waiting on condition [0x00007f146cc70000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000fd610a58> (a > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2075) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "sparkWorker-akka.actor.default-dispatcher-3" daemon prio=10 > tid=0x00007f1494523000 nid=0xe7f waiting on condition [0x00007f146cd71000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000fd610a58> (a > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2075) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "sparkWorker-akka.actor.default-dispatcher-2" daemon prio=10 > tid=0x00007f1494508000 nid=0xe7e waiting on condition [0x00007f146ce72000] > java.lang.Thread.State: TIMED_WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000fd610a58> (a > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool) > at > scala.concurrent.forkjoin.ForkJoinPool.idleAwaitWork(ForkJoinPool.java:2135) > at scala.concurrent.forkjoin.ForkJoinPool.scan(ForkJoinPool.java:2067) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > > "sparkWorker-scheduler-1" daemon prio=10 tid=0x00007f1494494800 nid=0xe7d > waiting on condition [0x00007f146cf73000] > java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at akka.actor.LightArrayRevolverScheduler.waitNanos(Scheduler.scala:226) > at > akka.actor.LightArrayRevolverScheduler$$anon$8.nextTick(Scheduler.scala:405) > at akka.actor.LightArrayRevolverScheduler$$anon$8.run(Scheduler.scala:375) > at java.lang.Thread.run(Thread.java:745) > > "Service Thread" daemon prio=10 tid=0x00007f14940b8000 nid=0xe7b runnable > [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "C2 CompilerThread1" daemon prio=10 tid=0x00007f14940b5800 nid=0xe7a > waiting on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "C2 CompilerThread0" daemon prio=10 tid=0x00007f14940b2800 nid=0xe79 > waiting on condition [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "Signal Dispatcher" daemon prio=10 tid=0x00007f14940b0800 nid=0xe78 > runnable [0x0000000000000000] > java.lang.Thread.State: RUNNABLE > > "Finalizer" daemon prio=10 tid=0x00007f1494083800 nid=0xe77 in > Object.wait() [0x00007f146ebfa000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000000fd63b038> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) > - locked <0x00000000fd63b038> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) > at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) > > "Reference Handler" daemon prio=10 tid=0x00007f1494081800 nid=0xe76 in > Object.wait() [0x00007f14901f0000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000000fd63aa98> (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 <0x00000000fd63aa98> (a java.lang.ref.Reference$Lock) > > "main" prio=10 tid=0x00007f1494009000 nid=0xe6c waiting on condition > [0x00007f149cc2f000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000000fd648430> (a > java.util.concurrent.CountDownLatch$Sync) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303) > at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236) > at > akka.actor.ActorSystemImpl$TerminationCallbacks.ready(ActorSystem.scala:817) > at > akka.actor.ActorSystemImpl$TerminationCallbacks.ready(ActorSystem.scala:786) > at scala.concurrent.Await$$anonfun$ready$1.apply(package.scala:86) > at scala.concurrent.Await$$anonfun$ready$1.apply(package.scala:86) > at > scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53) > at scala.concurrent.Await$.ready(package.scala:86) > at akka.actor.ActorSystemImpl.awaitTermination(ActorSystem.scala:642) > at akka.actor.ActorSystemImpl.awaitTermination(ActorSystem.scala:643) > at org.apache.spark.deploy.worker.Worker$.main(Worker.scala:531) > at org.apache.spark.deploy.worker.Worker.main(Worker.scala) > > "VM Thread" prio=10 tid=0x00007f149407d000 nid=0xe75 runnable > > "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f149401f000 nid=0xe6d > runnable > > "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f1494021000 nid=0xe6e > runnable > > "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f1494022800 nid=0xe6f > runnable > > "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f1494024800 nid=0xe70 > runnable > > "GC task thread#4 (ParallelGC)" prio=10 tid=0x00007f1494026800 nid=0xe71 > runnable > > "GC task thread#5 (ParallelGC)" prio=10 tid=0x00007f1494028000 nid=0xe72 > runnable > > "GC task thread#6 (ParallelGC)" prio=10 tid=0x00007f149402a000 nid=0xe73 > runnable > > "GC task thread#7 (ParallelGC)" prio=10 tid=0x00007f149402c000 nid=0xe74 > runnable > > "VM Periodic Task Thread" prio=10 tid=0x00007f14940c2800 nid=0xe7c waiting > on condition > > JNI global references: 230 > > > Tell me if anything else is needed. > > Thank you. > > Hao. > > > On Tue, Apr 7, 2015 at 8:00 PM, Michael Armbrust <mich...@databricks.com> > wrote: > >> The joins here are totally different implementations, but it is worrisome >> that you are seeing the SQL join hanging. Can you provide more information >> about the hang? jstack of the driver and a worker that is processing a >> task would be very useful. >> >> On Tue, Apr 7, 2015 at 8:33 AM, Hao Ren <inv...@gmail.com> wrote: >> >>> Hi, >>> >>> We have 2 hive tables and want to join one with the other. >>> >>> Initially, we ran a sql request on HiveContext. But it did not work. It >>> was >>> blocked on 30/600 tasks. >>> Then we tried to load tables into two DataFrames, we have encountered the >>> same problem. >>> Finally, it works with RDD.join. What we have done is basically >>> transforming >>> 2 tables into 2 pair RDDs, then calling a join operation. It works great >>> in >>> about 500 s. >>> >>> However, workaround is just a workaround, since we have to transform hive >>> tables into RDD. This is really annoying. >>> >>> Just wondering whether the underlying code of DF/SQL's join operation is >>> the >>> same as rdd's, knowing that there is a syntax analysis layer for DF/SQL, >>> while RDD's join is straightforward on two pair RDDs. >>> >>> SQL request: >>> ---------------------------------------------------------------------- >>> select v1.receipt_id, v1.sku, v1.amount, v1.qty, v2.discount >>> from table1 as v1 left join table2 as v2 >>> on v1.receipt_id = v2.receipt_id >>> where v1.sku != "" >>> >>> DataFrame: >>> >>> ----------------------------------------------------------------------------------------- >>> val rdd1 = ss.hiveContext.table(table1) >>> val rdd1Filt = rdd1.filter(rdd1.col("sku") !== "") >>> val rdd2 = ss.hiveContext.table(table2) >>> val rddJoin = rdd1Filt.join(rdd2, rdd1Filt("receipt_id") === >>> rdd2("receipt_id")) >>> rddJoin.saveAsTable("testJoinTable", SaveMode.Overwrite) >>> >>> RDD workaround in this case is a bit cumbersome, for short, we just >>> created >>> 2 RDDs, join, and then apply a new schema on the result RDD. This >>> approach >>> works, at least all tasks were finished, while the DF/SQL approach don't. >>> >>> Any idea ? >>> >>> >>> >>> >>> -- >>> View this message in context: >>> http://apache-spark-user-list.1001560.n3.nabble.com/The-differentce-between-SparkSql-DataFram-join-and-Rdd-join-tp22407.html >>> Sent from the Apache Spark User List mailing list archive at Nabble.com. >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@spark.apache.org >>> For additional commands, e-mail: user-h...@spark.apache.org >>> >>> >> > > > -- > Hao Ren > > {Data, Software} Engineer @ ClaraVista > > Paris, France >