[ 
https://issues.apache.org/jira/browse/SOLR-7408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shai Erera updated SOLR-7408:
-----------------------------
    Attachment: SOLR-7408.patch

Patch implements what I proposed: {{SorlCore.registerConfListener()}} is made 
public, no longer called by {{SolrCore()}} and now called by 
{{SolrCores.putCore}} after it is put in the map. This now prevents removing 
any listeners of known/advertised cores.

Ideally, we would not create an entry in the map unless there is at least one 
listener for this confDir, and we would also remove the entry from the map when 
the last listener has been removed (when the last SolrCore is closed). However, 
it seems like we call {{unregister}} even in the event of errors 
({{CoreAdminHandler.handleCreateAction}}), forcing the removal of the configDir 
listener, and it's not clear if we also call {{SolrCore.close()}}. So we may 
start leaking listeners that will never be removed ...

If anyone has a better idea how to address that issue, please chime in.

> Race condition can cause a config directory listener to be removed
> ------------------------------------------------------------------
>
>                 Key: SOLR-7408
>                 URL: https://issues.apache.org/jira/browse/SOLR-7408
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrCloud
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>         Attachments: SOLR-7408.patch, SOLR-7408.patch
>
>
> This has been reported here: http://markmail.org/message/ynkm2axkdprppgef, 
> and I was able to reproduce it in a test, although I am only able to 
> reproduce if I put break points and manually simulate the problematic context 
> switches.



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