[
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]