Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-16946

Cluster Singleton stop method sometimes not called on Overseer close

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 9.0, 9.1, 9.2, 9.1.1, 9.3
    • 9.4
    • Plugin system, SolrCloud
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              noble.paul Noble Paul
              pmcarthur Paul McArthur
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m