[
https://issues.apache.org/jira/browse/SOLR-16154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17532314#comment-17532314
]
Michael Gibney commented on SOLR-16154:
---------------------------------------
That makes sense generally. I wonder if we could time the shutdown and add an
assertion just to ensure that we're aware if it's blocking for an unreasonably
long time (whatever that may be). I guess ideally the "right" way to handle
this would be for the threads to check status and shortcircuit themselves so
they avoid lingering. I just don't know what the right status is to check, nor
what all the event listeners might be.
Again, my concern is that the current change by itself, iiuc, would mask these
issues -- they're intermittent as is, hard to reproduce, and changing from
"leaking threads doing useless work" to "blocking orderly shutdown on threads
doing useless work" is definitely an improvement in the sense that it reduces
test noise, but it's still not ideal.
{quote}
Since we fixed the problem of new threads being created during shutdown - I
think that is why we don't see this leak anymore.
{quote}
I'm not sure what fix you're referring to here.
{quote}
Since this is with an executor, we should have ~60 seconds to shutdown any
running threads - BEFORE ZK gets shutdown.
{quote}
What is the 60s buffer you're referring to here (sorry for my ignorance!)?
> 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]