[
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: [email protected]
For additional commands, e-mail: [email protected]