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: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to