Paul McArthur created SOLR-16946:
------------------------------------
Summary: Cluster Singleton stop method sometimes not called on
Overseer close
Key: SOLR-16946
URL: https://issues.apache.org/jira/browse/SOLR-16946
Project: Solr
Issue Type: Bug
Security Level: Public (Default Security Level. Issues are Public)
Components: Plugin system, SolrCloud
Affects Versions: 9.3, 9.1.1, 9.2, 9.1, 9.0
Reporter: Paul McArthur
If a Cluster Singleton plugin is added, then the normal behavior is for the
ClusterSingleton stop method to be called when the Overseer is closed.
However, if the plugin configuration is updated after it has been added, then
the stop method is not called when the Overseer is closed.
When the _/cluster/plugin_ API is called with an update payload, the
_ClusterSingletons.modified_ method is called, which adds the new plugin to the
_singletonMap_ (and starts it if applicable). Then it stops and removes the old
one.
Given that the _singletonMap_ is keyed on the plugin name, adding the
replacement will overwrite the existing (old) entry in the map. Then when
attempting to remove the previous plugin, the new replacement is inadvertently
removed instead.
This leaves the _singletonMap_ with no entry for the updated plugin. When the
Overseer node goes down, the stop method is not called for the plugin because
it does not have an entry in the map.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]