You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Shikhar Bhushan (JIRA)" <ji...@apache.org> on 2016/09/12 23:46:20 UTC

[jira] [Created] (KAFKA-4154) Kafka Connect fails to shutdown if it has not completed startup

Shikhar Bhushan created KAFKA-4154:
--------------------------------------

             Summary: Kafka Connect fails to shutdown if it has not completed startup
                 Key: KAFKA-4154
                 URL: https://issues.apache.org/jira/browse/KAFKA-4154
             Project: Kafka
          Issue Type: Bug
          Components: KafkaConnect
            Reporter: Shikhar Bhushan
            Assignee: Shikhar Bhushan
             Fix For: 0.10.1.0


To reproduce:
1. Start Kafka Connect in distributed mode without Kafka running {{./bin/connect-distributed.sh config/connect-distributed.properties}}
2. Ctrl+C fails to terminate the process

thread dump:
{noformat}
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.92-b14 mixed mode):

"Thread-1" #13 prio=5 os_prio=31 tid=0x00007fc29a18a800 nid=0x7007 waiting on condition [0x0000700003129000]
   java.lang.Thread.State: WAITING (parking)
       	at sun.misc.Unsafe.park(Native Method)
       	- parking to wait for  <0x00000007bd7d91d8> (a java.util.concurrent.CountDownLatch$Sync)
       	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
       	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
       	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
       	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
       	at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
       	at org.apache.kafka.connect.runtime.distributed.DistributedHerder.stop(DistributedHerder.java:357)
       	at org.apache.kafka.connect.runtime.Connect.stop(Connect.java:71)
       	at org.apache.kafka.connect.runtime.Connect$ShutdownHook.run(Connect.java:93)

"SIGINT handler" #27 daemon prio=9 os_prio=31 tid=0x00007fc29aa6a000 nid=0x560f in Object.wait() [0x0000700001a61000]
   java.lang.Thread.State: WAITING (on object monitor)
       	at java.lang.Object.wait(Native Method)
       	- waiting on <0x00000007bd63db38> (a org.apache.kafka.connect.runtime.Connect$ShutdownHook)
       	at java.lang.Thread.join(Thread.java:1245)
       	- locked <0x00000007bd63db38> (a org.apache.kafka.connect.runtime.Connect$ShutdownHook)
       	at java.lang.Thread.join(Thread.java:1319)
       	at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:106)
       	at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46)
       	at java.lang.Shutdown.runHooks(Shutdown.java:123)
       	at java.lang.Shutdown.sequence(Shutdown.java:167)
       	at java.lang.Shutdown.exit(Shutdown.java:212)
       	- locked <0x00000007b0244600> (a java.lang.Class for java.lang.Shutdown)
       	at java.lang.Terminator$1.handle(Terminator.java:52)
       	at sun.misc.Signal$1.run(Signal.java:212)
       	at java.lang.Thread.run(Thread.java:745)

"kafka-producer-network-thread | producer-1" #15 daemon prio=5 os_prio=31 tid=0x00007fc29a0b7000 nid=0x7a03 runnable [0x0000700002608000]
   java.lang.Thread.State: RUNNABLE
       	at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
       	at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
       	at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
       	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
       	- locked <0x00000007bd7788d8> (a sun.nio.ch.Util$2)
       	- locked <0x00000007bd7788e8> (a java.util.Collections$UnmodifiableSet)
       	- locked <0x00000007bd778888> (a sun.nio.ch.KQueueSelectorImpl)
       	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
       	at org.apache.kafka.common.network.Selector.select(Selector.java:470)
       	at org.apache.kafka.common.network.Selector.poll(Selector.java:286)
       	at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:260)
       	at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:235)
       	at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:134)
       	at java.lang.Thread.run(Thread.java:745)

"DistributedHerder" #14 prio=5 os_prio=31 tid=0x00007fc29a11e000 nid=0x7803 waiting on condition [0x0000700002505000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
       	at java.lang.Thread.sleep(Native Method)
       	at org.apache.kafka.common.utils.SystemTime.sleep(SystemTime.java:37)
       	at org.apache.kafka.clients.consumer.internals.Fetcher.getTopicMetadata(Fetcher.java:299)
       	at org.apache.kafka.clients.consumer.KafkaConsumer.partitionsFor(KafkaConsumer.java:1310)
       	at org.apache.kafka.connect.util.KafkaBasedLog.start(KafkaBasedLog.java:131)
       	at org.apache.kafka.connect.storage.KafkaOffsetBackingStore.start(KafkaOffsetBackingStore.java:86)
       	at org.apache.kafka.connect.runtime.Worker.start(Worker.java:115)
       	at org.apache.kafka.connect.runtime.AbstractHerder.startServices(AbstractHerder.java:112)
       	at org.apache.kafka.connect.runtime.distributed.DistributedHerder.run(DistributedHerder.java:169)
       	at java.lang.Thread.run(Thread.java:745)

"RMI TCP Accept-0" #12 daemon prio=5 os_prio=31 tid=0x00007fc299aed800 nid=0x740f runnable [0x00007000022ff000]
   java.lang.Thread.State: RUNNABLE
       	at java.net.PlainSocketImpl.socketAccept(Native Method)
       	at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
       	at java.net.ServerSocket.implAccept(ServerSocket.java:545)
       	at java.net.ServerSocket.accept(ServerSocket.java:513)
       	at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
       	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
       	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
       	at java.lang.Thread.run(Thread.java:745)

"Service Thread" #10 daemon prio=9 os_prio=31 tid=0x00007fc29a87d800 nid=0x6e03 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread3" #9 daemon prio=9 os_prio=31 tid=0x00007fc29a02c000 nid=0x6c03 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread2" #8 daemon prio=9 os_prio=31 tid=0x00007fc29a829800 nid=0x6a03 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #7 daemon prio=9 os_prio=31 tid=0x00007fc298968800 nid=0x6803 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #6 daemon prio=9 os_prio=31 tid=0x00007fc29a829000 nid=0x6603 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #5 daemon prio=9 os_prio=31 tid=0x00007fc298966800 nid=0x6403 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (Concurrent GC)" #4 daemon prio=9 os_prio=31 tid=0x00007fc299807000 nid=0x570b waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=31 tid=0x00007fc298965000 nid=0x5003 in Object.wait() [0x000070000195e000]
   java.lang.Thread.State: WAITING (on object monitor)
       	at java.lang.Object.wait(Native Method)
       	- waiting on <0x00000007b0149a60> (a java.lang.ref.ReferenceQueue$Lock)
       	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
       	- locked <0x00000007b0149a60> (a java.lang.ref.ReferenceQueue$Lock)
       	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
       	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

"Reference Handler" #2 daemon prio=10 os_prio=31 tid=0x00007fc29b804000 nid=0x4e03 in Object.wait() [0x000070000185b000]
   java.lang.Thread.State: WAITING (on object monitor)
       	at java.lang.Object.wait(Native Method)
       	- waiting on <0x00000007b016ddb0> (a java.lang.ref.Reference$Lock)
       	at java.lang.Object.wait(Object.java:502)
       	at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
       	- locked <0x00000007b016ddb0> (a java.lang.ref.Reference$Lock)
       	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"main" #1 prio=5 os_prio=31 tid=0x00007fc29a802000 nid=0xc0f waiting on condition [0x0000700000219000]
   java.lang.Thread.State: WAITING (parking)
       	at sun.misc.Unsafe.park(Native Method)
       	- parking to wait for  <0x00000007bd63db08> (a java.util.concurrent.CountDownLatch$Sync)
       	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
       	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
       	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
       	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
       	at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
       	at org.apache.kafka.connect.runtime.Connect.awaitStop(Connect.java:82)
       	at org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:95)

"VM Thread" os_prio=31 tid=0x00007fc29a02b000 nid=0x4c03 runnable

"Gang worker#0 (Parallel GC Threads)" os_prio=31 tid=0x00007fc298813800 nid=0x1607 runnable

"Gang worker#1 (Parallel GC Threads)" os_prio=31 tid=0x00007fc298814000 nid=0x2603 runnable

"Gang worker#2 (Parallel GC Threads)" os_prio=31 tid=0x00007fc298814800 nid=0x2803 runnable

"Gang worker#3 (Parallel GC Threads)" os_prio=31 tid=0x00007fc298815000 nid=0x2a03 runnable

"Gang worker#4 (Parallel GC Threads)" os_prio=31 tid=0x00007fc298816000 nid=0x2c03 runnable

"Gang worker#5 (Parallel GC Threads)" os_prio=31 tid=0x00007fc298816800 nid=0x2e03 runnable

"Gang worker#6 (Parallel GC Threads)" os_prio=31 tid=0x00007fc298817000 nid=0x3003 runnable

"Gang worker#7 (Parallel GC Threads)" os_prio=31 tid=0x00007fc298817800 nid=0x3203 runnable

"G1 Main Concurrent Mark GC Thread" os_prio=31 tid=0x00007fc298833800 nid=0x4603 runnable

"Gang worker#0 (G1 Parallel Marking Threads)" os_prio=31 tid=0x00007fc298834800 nid=0x4803 runnable

"Gang worker#1 (G1 Parallel Marking Threads)" os_prio=31 tid=0x00007fc298835000 nid=0x4a03 runnable

"G1 Concurrent Refinement Thread#0" os_prio=31 tid=0x00007fc29881e800 nid=0x4403 runnable

"G1 Concurrent Refinement Thread#1" os_prio=31 tid=0x00007fc29881d800 nid=0x4203 runnable

"G1 Concurrent Refinement Thread#2" os_prio=31 tid=0x00007fc29881d000 nid=0x4003 runnable

"G1 Concurrent Refinement Thread#3" os_prio=31 tid=0x00007fc29881c000 nid=0x3e03 runnable

"G1 Concurrent Refinement Thread#4" os_prio=31 tid=0x00007fc29881b800 nid=0x3c03 runnable

"G1 Concurrent Refinement Thread#5" os_prio=31 tid=0x00007fc29881a800 nid=0x3a03 runnable

"G1 Concurrent Refinement Thread#6" os_prio=31 tid=0x00007fc29881a000 nid=0x3803 runnable

"G1 Concurrent Refinement Thread#7" os_prio=31 tid=0x00007fc298819000 nid=0x3603 runnable

"G1 Concurrent Refinement Thread#8" os_prio=31 tid=0x00007fc298818800 nid=0x3403 runnable

"VM Periodic Task Thread" os_prio=31 tid=0x00007fc29896d800 nid=0x7603 waiting on condition

JNI global references: 280

Heap
 garbage-first heap   total 262144K, used 23429K [0x00000007b0000000, 0x00000007b0100800, 0x00000007c0000000)
  region size 1024K, 14 young (14336K), 5 survivors (5120K)
 Metaspace       used 19993K, capacity 20266K, committed 20480K, reserved 1067008K
  class space    used 2430K, capacity 2513K, committed 2560K, reserved 1048576K
{noformat}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)