You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by xavier jmlucjav <jm...@gmail.com> on 2013/03/17 18:51:08 UTC

4.0 hanging on startup on Windows after Control-C

Hi,

I have an index where, if I kill solr via Control-C, it consistently hangs
next time I start it. Admin does not show cores, and searches never return.
If I delete the index contents and I restart again all is ok. I am on
windows 7, jdk1.7 and Solr4.0.
Is this a known issue? I looked in jira but found nothing.
xavier

Here is a thread dump:

2013-03-17 17:58:33
Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode):

"JMX server connection timeout 30" daemon prio=6 tid=0x000000000bbf9000
nid=0x3b4c in Object.wait() [0x000000001df3e000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000e7054338> (a [I)
    at
com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:168)
    - locked <0x00000000e7054338> (a [I)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"RMI Scheduler(0)" daemon prio=6 tid=0x000000000bbf8000 nid=0x39d8 waiting
on condition [0x000000001db9f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000b9e1e6d8> (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:722)

   Locked ownable synchronizers:
    - None

"RMI TCP Connection(1)-192.168.1.128" daemon prio=6 tid=0x000000000bbf7800
nid=0x111c runnable [0x000000001dd3e000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:150)
    at java.net.SocketInputStream.read(SocketInputStream.java:121)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
    - locked <0x00000000e70003c8> (a java.io.BufferedInputStream)
    at java.io.FilterInputStream.read(FilterInputStream.java:83)
    at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
    at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
    at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
    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:722)

   Locked ownable synchronizers:
    - <0x00000000b959bc68> (a
java.util.concurrent.ThreadPoolExecutor$Worker)

"RMI TCP Accept-0" daemon prio=6 tid=0x000000000bbf5000 nid=0x1fe0 runnable
[0x000000001da4e000]
   java.lang.Thread.State: RUNNABLE
    at java.net.DualStackPlainSocketImpl.accept0(Native Method)
    at
java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:121)
    at
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:183)
    - locked <0x00000000b9531a78> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:522)
    at java.net.ServerSocket.accept(ServerSocket.java:490)
    at
sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
    at
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:387)
    at
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:359)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"DestroyJavaVM" prio=6 tid=0x000000000bbf6800 nid=0x60c waiting on
condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"searcherExecutor-6-thread-1" prio=6 tid=0x000000000bbf6000 nid=0x3480 in
Object.wait() [0x000000001441e000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000b9e6a4a0> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:503)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1379)
    - locked <0x00000000b9e6a4a0> (a java.lang.Object)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1200)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1135)
    at
org.apache.solr.request.SolrQueryRequestBase.getSearcher(SolrQueryRequestBase.java:88)
    at
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:214)
    at
org.apache.solr.spelling.SpellCheckCollator.collate(SpellCheckCollator.java:112)
    at
org.apache.solr.handler.component.SpellCheckComponent.addCollationsToResponse(SpellCheckComponent.java:203)
    at
org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:180)
    at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:206)
    at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:1699)
    at
org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:63)
    at org.apache.solr.core.SolrCore$5.call(SolrCore.java:1479)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    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:722)

   Locked ownable synchronizers:
    - <0x00000000b959bfe8> (a
java.util.concurrent.ThreadPoolExecutor$Worker)

"searcherExecutor-1-thread-1" prio=6 tid=0x000000000bbf4800 nid=0x1d18
waiting on condition [0x000000000db0f000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000b9a27778> (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.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:722)

   Locked ownable synchronizers:
    - None

"HashSessionScavenger-0" daemon prio=6 tid=0x000000000bbf3800 nid=0x3578 in
Object.wait() [0x000000000dc8f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000b5ab8c38> (a java.util.TaskQueue)
    at java.util.TimerThread.mainLoop(Timer.java:552)
    - locked <0x00000000b5ab8c38> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:505)

   Locked ownable synchronizers:
    - None

"qtp1456915930-21" prio=6 tid=0x000000000af97800 nid=0x34a8 in
Object.wait() [0x000000000d9dd000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000b9e6a4a0> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:503)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1379)
    - locked <0x00000000b9e6a4a0> (a java.lang.Object)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1200)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1135)
    at
org.apache.solr.request.SolrQueryRequestBase.getSearcher(SolrQueryRequestBase.java:88)
    at
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:214)
    at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:214)
    at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:1699)
    at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:455)
    at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:276)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
    at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
    at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
    at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
    at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
    at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
    at org.eclipse.jetty.server.Server.handle(Server.java:351)
    at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
    at
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
    at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
    at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
    at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
    at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"qtp1456915930-20" prio=6 tid=0x000000000b165800 nid=0x1d6c waiting on
condition [0x000000000d87f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000b5adbf58> (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:337)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:517)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:39)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:563)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"qtp1456915930-19" prio=6 tid=0x000000000adcb800 nid=0x3898 waiting on
condition [0x000000000d62f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000b5adbf58> (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:337)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:517)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:39)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:563)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"qtp1456915930-18" prio=6 tid=0x000000000af78800 nid=0x3448 in
Object.wait() [0x000000000d74d000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000b9e6a4a0> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:503)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1379)
    - locked <0x00000000b9e6a4a0> (a java.lang.Object)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1200)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1135)
    at
org.apache.solr.request.SolrQueryRequestBase.getSearcher(SolrQueryRequestBase.java:88)
    at
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:214)
    at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:214)
    at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:1699)
    at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:455)
    at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:276)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
    at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
    at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
    at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
    at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
    at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
    at org.eclipse.jetty.server.Server.handle(Server.java:351)
    at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
    at
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
    at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
    at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
    at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
    at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"qtp1456915930-17" prio=6 tid=0x000000000b88f800 nid=0x34ec in
Object.wait() [0x000000000d50d000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000b9e6a4a0> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:503)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1379)
    - locked <0x00000000b9e6a4a0> (a java.lang.Object)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1200)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1135)
    at
org.apache.solr.request.SolrQueryRequestBase.getSearcher(SolrQueryRequestBase.java:88)
    at
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:214)
    at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:206)
    at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:1699)
    at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:455)
    at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:276)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
    at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
    at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
    at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
    at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
    at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
    at org.eclipse.jetty.server.Server.handle(Server.java:351)
    at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
    at
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
    at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
    at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
    at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
    at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"qtp1456915930-16" prio=6 tid=0x000000000b333000 nid=0x38d8 waiting on
condition [0x000000000d37f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000b5adbf58> (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:337)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:517)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:39)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:563)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"qtp1456915930-15" prio=6 tid=0x000000000baf8800 nid=0x113c in
Object.wait() [0x000000000cdcd000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000b9e6a4a0> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:503)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1379)
    - locked <0x00000000b9e6a4a0> (a java.lang.Object)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1200)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1135)
    at
org.apache.solr.handler.admin.CoreAdminHandler.getCoreStatus(CoreAdminHandler.java:981)
    at
org.apache.solr.handler.admin.CoreAdminHandler.handleStatusAction(CoreAdminHandler.java:695)
    at
org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:157)
    at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
    at
org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:372)
    at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:181)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
    at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
    at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
    at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
    at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
    at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
    at org.eclipse.jetty.server.Server.handle(Server.java:351)
    at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
    at
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
    at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
    at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
    at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
    at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"qtp1456915930-14" prio=6 tid=0x000000000b0ee800 nid=0x2e50 waiting on
condition [0x000000000d27f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000b5adbf58> (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:337)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:517)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:39)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:563)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"qtp1456915930-13" prio=6 tid=0x000000000b08f800 nid=0xc0c waiting on
condition [0x000000000d0ce000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000b5adbf58> (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:337)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:517)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:39)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:563)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"qtp1456915930-12 Acceptor0 SocketConnector@0.0.0.0:8983" prio=6
tid=0x000000000aeec000 nid=0x3ad0 runnable [0x000000000ceee000]
   java.lang.Thread.State: RUNNABLE
    at java.net.DualStackPlainSocketImpl.accept0(Native Method)
    at
java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:121)
    at
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:183)
    - locked <0x00000000b9737a18> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:522)
    at java.net.ServerSocket.accept(ServerSocket.java:490)
    at
org.eclipse.jetty.server.bio.SocketConnector.accept(SocketConnector.java:112)
    at
org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:933)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Thread.java:722)

   Locked ownable synchronizers:
    - None

"org.eclipse.jetty.util.RolloverFileOutputStream" daemon prio=6
tid=0x000000000ba07000 nid=0x3b40 in Object.wait() [0x000000000a4bf000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000b5ae1670> (a java.util.TaskQueue)
    at java.util.TimerThread.mainLoop(Timer.java:552)
    - locked <0x00000000b5ae1670> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:505)

   Locked ownable synchronizers:
    - None

"Service Thread" daemon prio=6 tid=0x000000000911f000 nid=0x33f0 runnable
[0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

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

   Locked ownable synchronizers:
    - None

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

   Locked ownable synchronizers:
    - None

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

   Locked ownable synchronizers:
    - None

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

   Locked ownable synchronizers:
    - None

"Finalizer" daemon prio=8 tid=0x0000000001df6000 nid=0x32d4 in
Object.wait() [0x000000000a34e000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000b5b2e440> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
    - locked <0x00000000b5b2e440> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

   Locked ownable synchronizers:
    - None

"Reference Handler" daemon prio=10 tid=0x0000000001def000 nid=0x396c in
Object.wait() [0x000000000a06e000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000b5b442e0> (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 <0x00000000b5b442e0> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
    - None

"VM Thread" prio=10 tid=0x0000000009082800 nid=0x3790 runnable

"GC task thread#0 (ParallelGC)" prio=6 tid=0x0000000001d45000 nid=0x37c8
runnable

"GC task thread#1 (ParallelGC)" prio=6 tid=0x0000000001d46800 nid=0x3914
runnable

"GC task thread#2 (ParallelGC)" prio=6 tid=0x0000000001d48800 nid=0xad0
runnable

"GC task thread#3 (ParallelGC)" prio=6 tid=0x0000000001d4a000 nid=0x1118
runnable

"VM Periodic Task Thread" prio=10 tid=0x0000000009138000 nid=0x3aa4 waiting
on condition

JNI global references: 261

Re: 4.0 hanging on startup on Windows after Control-C

Posted by xavier jmlucjav <jm...@gmail.com>.
Hi Shawn,

I am using DIH with commit at the end...I'll investigate further to see if
this is what is happening and will report back, also will check 4.2 (that I
had to do anyway...).
thanks for your input
xavier


On Mon, Mar 18, 2013 at 6:12 PM, Shawn Heisey <so...@elyograg.org> wrote:

> On 3/17/2013 11:51 AM, xavier jmlucjav wrote:
>
>> Hi,
>>
>> I have an index where, if I kill solr via Control-C, it consistently hangs
>> next time I start it. Admin does not show cores, and searches never
>> return.
>> If I delete the index contents and I restart again all is ok. I am on
>> windows 7, jdk1.7 and Solr4.0.
>> Is this a known issue? I looked in jira but found nothing.
>>
>
> I scanned your thread dump.  Nothing jumped out at me, but given my
> inexperience with such things, I'm not surprised by that.
>
> Have you tried 4.1 or 4.2 yet to see if the problem persists?  4.0 is no
> longer the new hotness.
>
> Below I will discuss the culprit that springs to mind, though I don't know
> whether it's what you are actually hitting.
>
> One thing that can make Solr take a really long time to start up is huge
> transaction logs.  Transaction logs must be replayed when Solr starts, and
> if they are huge, it can take a really long time.
>
> Do you have tlog directories in your cores (in the data dir, next to the
> index directory), and if you do, how much disk space do they use?  The
> example config in 4.x has updateLog turned on.
>
> There are two common situations that can lead to huge transaction logs.
>  One is exclusively using soft commits when indexing, the other is running
> a very large import with the dataimport handler and not committing until
> the very end.
>
> AutoCommit with openSearcher=false is a good solution to both of these
> situations.  As long as you use openSearcher=false, it will not change what
> documents are visible.  AutoCommit does a regular "hard" commit every X new
> documents or every Y milliseconds.  A hard commit flushes index data to
> disk and starts a new transaction log.  Solr will only keep a few
> transaction logs around, so frequently building new ones keeps their size
> down.  When you restart Solr, you don't need to wait for a long time while
> it replays them.
>
> Thanks,
> Shawn
>
>

Re: 4.0 hanging on startup on Windows after Control-C

Posted by Shawn Heisey <so...@elyograg.org>.
On 3/17/2013 11:51 AM, xavier jmlucjav wrote:
> Hi,
>
> I have an index where, if I kill solr via Control-C, it consistently hangs
> next time I start it. Admin does not show cores, and searches never return.
> If I delete the index contents and I restart again all is ok. I am on
> windows 7, jdk1.7 and Solr4.0.
> Is this a known issue? I looked in jira but found nothing.

I scanned your thread dump.  Nothing jumped out at me, but given my 
inexperience with such things, I'm not surprised by that.

Have you tried 4.1 or 4.2 yet to see if the problem persists?  4.0 is no 
longer the new hotness.

Below I will discuss the culprit that springs to mind, though I don't 
know whether it's what you are actually hitting.

One thing that can make Solr take a really long time to start up is huge 
transaction logs.  Transaction logs must be replayed when Solr starts, 
and if they are huge, it can take a really long time.

Do you have tlog directories in your cores (in the data dir, next to the 
index directory), and if you do, how much disk space do they use?  The 
example config in 4.x has updateLog turned on.

There are two common situations that can lead to huge transaction logs. 
  One is exclusively using soft commits when indexing, the other is 
running a very large import with the dataimport handler and not 
committing until the very end.

AutoCommit with openSearcher=false is a good solution to both of these 
situations.  As long as you use openSearcher=false, it will not change 
what documents are visible.  AutoCommit does a regular "hard" commit 
every X new documents or every Y milliseconds.  A hard commit flushes 
index data to disk and starts a new transaction log.  Solr will only 
keep a few transaction logs around, so frequently building new ones 
keeps their size down.  When you restart Solr, you don't need to wait 
for a long time while it replays them.

Thanks,
Shawn