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

Shalin Shekhar Mangar commented on SOLR-6261:
---------------------------------------------

Guys, I think there's something weird happening since this was committed. Many 
tests such as MultiThreadedOCPTest and ShardSplitTest have been failing with 
OutOfMemory trying to create new watcher threads. A typical fail has the 
following in logs:

{code}
 [junit4]   2> 1218223 T4785 oasc.DistributedQueue$LatchChildWatcher.process 
LatchChildWatcher fired on path: /overseer/collection-queue-work state: 
SyncConnected type NodeChildrenChanged
   [junit4]   2> 1218223 T4789 oasc.DistributedQueue$LatchChildWatcher.process 
LatchChildWatcher fired on path: /overseer/collection-queue-work state: 
SyncConnected type NodeChildrenChanged
   [junit4]   2> 1218223 T4791 oasc.DistributedQueue$LatchChildWatcher.process 
LatchChildWatcher fired on path: /overseer/collection-queue-work state: 
SyncConnected type NodeChildrenChanged
   [junit4]   2> 1218223 T4795 oasc.DistributedQueue$LatchChildWatcher.process 
LatchChildWatcher fired on path: /overseer/collection-queue-work state: 
SyncConnected type NodeChildrenChanged
   [junit4]   2> 1218223 T4797 oasc.DistributedQueue$LatchChildWatcher.process 
LatchChildWatcher fired on path: /overseer/collection-queue-work state: 
SyncConnected type NodeChildrenChanged
   [junit4]   2> 1218222 T4803 oasc.DistributedQueue$LatchChildWatcher.process 
LatchChildWatcher fired on path: /overseer/collection-queue-work state: 
SyncConnected type NodeChildrenChanged
   [junit4]   2> 1218222 T3305 oaz.ClientCnxn$EventThread.processEvent ERROR 
Error while calling watcher  java.lang.OutOfMemoryError: unable to create new 
native thread
   [junit4]   2>        at java.lang.Thread.start0(Native Method)
   [junit4]   2>        at java.lang.Thread.start(Thread.java:714)
   [junit4]   2>        at 
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:950)
   [junit4]   2>        at 
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1368)
   [junit4]   2>        at 
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
   [junit4]   2>        at 
org.apache.solr.common.cloud.SolrZkClient$3.process(SolrZkClient.java:201)
   [junit4]   2>        at 
org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:522)
   [junit4]   2>        at 
org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:498)
   [junit4]   2> 
{code}
I see hundreds of LatchChildWatcher.process events and then the node goes out 
of memory.

Here are some of the recent fails:
http://jenkins.thetaphi.de/job/Lucene-Solr-trunk-Windows/4233/
https://builds.apache.org/job/Lucene-Solr-NightlyTests-4.x/592/
https://builds.apache.org/job/Lucene-Solr-Tests-4.x-Java7/2048/

> Run ZK watch event callbacks in parallel to the event thread
> ------------------------------------------------------------
>
>                 Key: SOLR-6261
>                 URL: https://issues.apache.org/jira/browse/SOLR-6261
>             Project: Solr
>          Issue Type: Improvement
>          Components: SolrCloud
>    Affects Versions: 4.9
>            Reporter: Ramkumar Aiyengar
>            Assignee: Mark Miller
>            Priority: Minor
>             Fix For: 5.0, 4.10
>
>
> Currently checking for leadership (due to the leader's ephemeral node going 
> away) happens in ZK's event thread. If there are many cores and all of them 
> are due leadership, then they would have to serially go through the two-way 
> sync and leadership takeover.
> For tens of cores, this could mean 30-40s without leadership before the last 
> in the list even gets to start the leadership process. If the leadership 
> process happens in a separate thread, then the cores could all take over in 
> parallel.



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