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

Mike Drob commented on SOLR-16154:
----------------------------------

Thanks Kevin, you just filled in a gap in my mental model. So to be more 
explicit...

Previous behavior (TX = Thread X, not Time X)

T1: FireEventListener thread starts
T2: Cluster shutdown happens, including ZK shutdown
T1: Because ZK is shutdown, event listeners will loop in retry state until 
captured by ThreadLeak detector

New behavior:

T1: FireEventListener submitted to cc's executor E
T2: Cluster shutdown happens, waits for E to terminate
T1: Completes and terminates gracefully
T2: Shut down rest of cluster and ZK.

So I agree with Kevin here that we probably don't want to be doing additional 
interrupts and let the cluster order itself. It's probably safe to add some 
asserts or some (debug?) logging about how long shutdown takes? That's probably 
a good idea generally, but I would see that as a separate issue.


> ZKEventListenerThread leaks from tests
> --------------------------------------
>
>                 Key: SOLR-16154
>                 URL: https://issues.apache.org/jira/browse/SOLR-16154
>             Project: Solr
>          Issue Type: Test
>            Reporter: Mike Drob
>            Assignee: Mike Drob
>            Priority: Major
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Seen repeatedly on Jenkins.
> {noformat}
> com.carrotsearch.randomizedtesting.ThreadLeakError: 1 thread leaked from 
> SUITE scope at 
> org.apache.solr.handler.designer.TestSchemaDesignerSettingsDAO: 
>    1) Thread[id=1089, name=ZKEventListenerThread, state=TIMED_WAITING, 
> group=TGRP-TestSchemaDesignerSettingsDAO]
>         at java.base@18/java.lang.Thread.sleep(Native Method)
>         at 
> app//org.apache.solr.common.cloud.ZkCmdExecutor.retryDelay(ZkCmdExecutor.java:161)
>         at 
> app//org.apache.solr.common.cloud.ZkCmdExecutor.retryOperation(ZkCmdExecutor.java:82)
>         at 
> app//org.apache.solr.common.cloud.SolrZkClient.getData(SolrZkClient.java:361)
>         at 
> app//org.apache.solr.cloud.ZkSolrResourceLoader.openResource(ZkSolrResourceLoader.java:75)
>         at 
> app//org.apache.lucene.analysis.AbstractAnalysisFactory.getLines(AbstractAnalysisFactory.java:302)
>         at 
> app//org.apache.lucene.analysis.AbstractAnalysisFactory.getWordSet(AbstractAnalysisFactory.java:293)
>         at 
> app//org.apache.lucene.analysis.en.AbstractWordsFileFilterFactory.inform(AbstractWordsFileFilterFactory.java:88)
>         at 
> app//org.apache.solr.core.SolrResourceLoader.informAware(SolrResourceLoader.java:762)
>         at 
> app//org.apache.solr.schema.ManagedIndexSchema.informResourceLoaderAwareObjectsInChain(ManagedIndexSchema.java:1470)
>         at 
> app//org.apache.solr.schema.ManagedIndexSchema.informResourceLoaderAwareObjectsForFieldType(ManagedIndexSchema.java:1319)
>         at 
> app//org.apache.solr.schema.ManagedIndexSchema.postReadInform(ManagedIndexSchema.java:1307)
>         at 
> app//org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:654)
>         at 
> app//org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:188)
>         at 
> app//org.apache.solr.schema.ManagedIndexSchema.<init>(ManagedIndexSchema.java:119)
>         at 
> app//org.apache.solr.schema.ManagedIndexSchemaFactory.create(ManagedIndexSchemaFactory.java:279)
>         at 
> app//org.apache.solr.schema.ManagedIndexSchemaFactory.create(ManagedIndexSchemaFactory.java:51)
>         at 
> app//org.apache.solr.core.ConfigSetService.createIndexSchema(ConfigSetService.java:342)
>         at 
> app//org.apache.solr.core.ConfigSetService.lambda$loadConfigSet$0(ConfigSetService.java:253)
>         at 
> app//org.apache.solr.core.ConfigSetService$$Lambda$632/0x0000000801137758.get(Unknown
>  Source)
>         at app//org.apache.solr.core.ConfigSet.<init>(ConfigSet.java:49)
>         at 
> app//org.apache.solr.core.ConfigSetService.loadConfigSet(ConfigSetService.java:249)
>         at 
> app//org.apache.solr.core.CoreContainer.reload(CoreContainer.java:1850)
>         at 
> app//org.apache.solr.core.SolrCore.lambda$getConfListener$21(SolrCore.java:3394)
>         at 
> app//org.apache.solr.core.SolrCore$$Lambda$742/0x00000008011f2560.run(Unknown 
> Source)
>         at 
> app//org.apache.solr.cloud.ZkController.lambda$fireEventListeners$18(ZkController.java:2761)
>         at 
> app//org.apache.solr.cloud.ZkController$$Lambda$1153/0x00000008014e8938.run(Unknown
>  Source)
>         at java.base@18/java.lang.Thread.run(Thread.java:833)
>       at __randomizedtesting.SeedInfo.seed([DE9B93CA6D75B373]:0)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

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

Reply via email to