[ 
https://issues.apache.org/jira/browse/SOLR-6296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14078053#comment-14078053
 ] 

ASF GitHub Bot commented on SOLR-6296:
--------------------------------------

GitHub user cpoerschke opened a pull request:

    https://github.com/apache/lucene-solr/pull/75

    SOLR-6296: add shutdownCoresCloseTimeoutSeconds support

    https://issues.apache.org/jira/i#browse/SOLR-6296

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/bloomberg/lucene-solr 
trunk-shutdown-cores-close-timeout

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/lucene-solr/pull/75.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #75
    
----
commit e58264b22117c4d6f415bd607ea5e03c48c24219
Author: Christine Poerschke <[email protected]>
Date:   2014-06-24T10:27:28Z

    solr: add shutdownCoresCloseTimeoutSeconds support with corresponding 
TestCoreContainer test
    
    The problem we saw was that an error-in-final-commit during solr-shutdown 
(details below) led to a corrupted segments_.... file which prevented 
subsequent solr-start.
    
    This change (subject to a timeout) delays solr-shutdown until all requests 
have stopped using all solr cores. It also prints any suppressed exceptions 
within the error-in-final-commit exception.
    
    error-in-final-commit details:
    
    WARN [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:145] 1 threads could not be stopped
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:151] Couldn't stop Thread[qtp562266264-45169,5,main]
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at java.io.RandomAccessFile.$$YJP$$open(Native 
Method)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
java.io.RandomAccessFile.open(RandomAccessFile.java)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:394)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.lucene.store.FSDirectory.createOutput(FSDirectory.java:282)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.lucene.store.NRTCachingDirectory.unCache(NRTCachingDirectory.java:297)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.lucene.store.NRTCachingDirectory.sync(NRTCachingDirectory.java:216)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.lucene.index.IndexWriter.startCommit(IndexWriter.java:4475)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.lucene.index.IndexWriter.prepareCommitInternal(IndexWriter.java:2989)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:3096)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3063)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.solr.update.DirectUpdateHandler2.closeWriter(DirectUpdateHandler2.java:765)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.solr.update.DefaultSolrCoreState.closeIndexWriter(DefaultSolrCoreState.java:68)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.solr.update.DefaultSolrCoreState.close(DefaultSolrCoreState.java:359)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.solr.update.SolrCoreState.decrefSolrCoreState(SolrCoreState.java:72)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.solr.core.SolrCore.close(SolrCore.java:1058)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:453)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
    ERROR [qtp562266264-45169] o.a.s.u.UpdateHandler 
[DirectUpdateHandler2.java:772] Error in final commit
    org.apache.lucene.util.ThreadInterruptedException: 
java.lang.InterruptedException: sleep interrupted
        at org.apache.lucene.util.IOUtils.fsync(IOUtils.java:326)
        at org.apache.lucene.store.FSDirectory.fsync(FSDirectory.java:449)
        at org.apache.lucene.store.FSDirectory.sync(FSDirectory.java:306)
        at 
org.apache.lucene.store.NRTCachingDirectory.sync(NRTCachingDirectory.java:218)
        at 
org.apache.lucene.index.IndexWriter.startCommit(IndexWriter.java:4475)
        at 
org.apache.lucene.index.IndexWriter.prepareCommitInternal(IndexWriter.java:2989)
        at 
org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:3096)
        at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3063)
        at 
org.apache.solr.update.DirectUpdateHandler2.closeWriter(DirectUpdateHandler2.java:765)
        at 
org.apache.solr.update.DefaultSolrCoreState.closeIndexWriter(DefaultSolrCoreState.java:68)
        at 
org.apache.solr.update.DefaultSolrCoreState.close(DefaultSolrCoreState.java:359)
        at 
org.apache.solr.update.SolrCoreState.decrefSolrCoreState(SolrCoreState.java:72)
        at org.apache.solr.core.SolrCore.close(SolrCore.java:1058)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:453)
        at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
        at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
        at org.eclipse.jetty.server.Server.handle(Server.java:368)
        at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
        at 
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
        at 
org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:953)
        at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1014)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:953)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
        at 
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
        at 
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
        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:722) [na:1.7.0_10]
    Caused by: java.lang.InterruptedException: sleep interrupted
        at java.lang.Thread.$$YJP$$sleep(Native Method) [na:1.7.0_10]
        at java.lang.Thread.sleep(Thread.java) [na:1.7.0_10]
        at org.apache.lucene.util.IOUtils.fsync(IOUtils.java:324)
        ... 39 common frames omitted
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.Server.handle(Server.java:368)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:953)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1014)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:953)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    INFO [ShutdownMonitor] o.e.j.u.t.QueuedThreadPool 
[QueuedThreadPool.java:154]  at java.lang.Thread.run(Thread.java:722)

----


> add shutdownCoresCloseTimeoutSeconds support
> --------------------------------------------
>
>                 Key: SOLR-6296
>                 URL: https://issues.apache.org/jira/browse/SOLR-6296
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Christine Poerschke
>
> The problem we saw was that an error-in-final-commit during solr-shutdown 
> (details below) led to a corrupted segments_.... file which prevented 
> subsequent solr-start.
> This change (subject to a timeout) delays solr-shutdown until all requests 
> have stopped using all solr cores. It also prints any suppressed exceptions 
> within the error-in-final-commit exception.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to