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

Mikhail Khludnev commented on SOLR-9208:
----------------------------------------

Colleagues, 
{{SolrCore.addCloseHook()}} seems obviously not safe. Ok. It's easy just to add 
a proper collection there. But how to reproduce it with the test? I tried to 
reproduce it with unloading core concurrently, but it did git CME or anything 
like that.

Am I right that {{SolrCore.addCloseHook()}} is called by handlers&components 
while core is loaded by coreLoadExecutor, and only after that synchronously it 
handles requests and can be unloaded? 
Or how to reproduce this issue beside of dumb and brave concurrent call 
{{addCloseHook()}} and {{UNLOAD}}? 

[~fabrizio.fort...@gmail.com], could it somehow happen that you unload the core 
until it's loaded? I'm sorry for asking. 

> ConcurrentModificationException on SolrCore.close() resulting in abnormal CPU 
> consumption
> -----------------------------------------------------------------------------------------
>
>                 Key: SOLR-9208
>                 URL: https://issues.apache.org/jira/browse/SOLR-9208
>             Project: Solr
>          Issue Type: Bug
>          Components: multicore, Server
>    Affects Versions: 6.0
>            Reporter: Fabrizio Fortino
>            Assignee: Mikhail Khludnev
>
> In our use case we swap two cores and close the old one. We started seeing 
> the below error from time to time (it's completely random, we are unable to 
> reproduce it). Moreover we have noticed that when this Exception is thrown 
> the CPU consumption goes pretty high (80-100%).
> Error Message:
> java.util.ConcurrentModificationException: 
> java.util.ConcurrentModificationException
> StackTrace:
> java.util.ArrayList$Itr.checkForComodification (ArrayList.java:901)
> java.util.ArrayList$Itr.next (ArrayList.java:851)
> org.apache.solr.core.SolrCore.close (SolrCore.java:1134)
> org.apache.solr.servlet.HttpSolrCall.destroy (HttpSolrCall.java:513)
> org.apache.solr.servlet.SolrDispatchFilter.doFilter 
> (SolrDispatchFilter.java:242)
> org.apache.solr.servlet.SolrDispatchFilter.doFilter 
> (SolrDispatchFilter.java:184)
> …ipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
> org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:581)
> org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143)
> org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:548)
> …g.eclipse.jetty.server.session.SessionHandler.doHandle 
> (SessionHandler.java:226)
> …g.eclipse.jetty.server.handler.ContextHandler.doHandle 
> (ContextHandler.java:1160)
> org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:511)
> org.eclipse.jetty.server.session.SessionHandler.doScope 
> (SessionHandler.java:185)
> org.eclipse.jetty.server.handler.ContextHandler.doScope 
> (ContextHandler.java:1092)
> org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141)
> …e.jetty.server.handler.ContextHandlerCollection.handle 
> (ContextHandlerCollection.java:213)
> ….eclipse.jetty.server.handler.HandlerCollection.handle 
> (HandlerCollection.java:119)
> org.eclipse.jetty.server.handler.HandlerWrapper.handle 
> (HandlerWrapper.java:134)
> org.eclipse.jetty.server.Server.handle (Server.java:518)
> org.eclipse.jetty.server.HttpChannel.handle (HttpChannel.java:308)
> org.eclipse.jetty.server.HttpConnection.onFillable (HttpConnection.java:244)
> …pse.jetty.io.AbstractConnection$ReadCallback.succeeded 
> (AbstractConnection.java:273)
> org.eclipse.jetty.io.FillInterest.fillable (FillInterest.java:95)
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run 
> (SelectChannelEndPoint.java:93)
> …il.thread.strategy.ExecuteProduceConsume.produceAndRun 
> (ExecuteProduceConsume.java:246)
> …e.jetty.util.thread.strategy.ExecuteProduceConsume.run 
> (ExecuteProduceConsume.java:156)
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob 
> (QueuedThreadPool.java:654)
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run 
> (QueuedThreadPool.java:572)
> java.lang.Thread.run (Thread.java:745)



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to