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

Cluster Singleton stop method sometimes not called on Overseer close

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          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

                Slack

                  Issue deployment