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

Coherent plugin initialization strategy

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.3
    • 1.3
    • None
    • None

    Description

      We currently load many plugins with a Map or NamedList – since SOLR-215, the current core is not available through SolrCore.getSolrCore() and may need to be used for initialization.

      Ideally, we could change the init() methods from:

      void init( final Map<String,String> args );

      to

      void init( final SolrCore core, final Map<String,String> args );

      Without breaking existing APIs, this change is difficult (some ugly options exist). This patch offers a solution to keep existing 1.2 APIs, and allow access to the SolrConfig and SolrCore though ThreadLocal. This should be removed in a future release.

      DeprecatedPluginUtils.getCurrentCore();
      DeprecatedPluginUtils.getCurrentConfig();

      This patch removes the SolrConfig.Initalizable that was introduced in SOLR-215.

      For background, see:
      http://www.nabble.com/Initializing---break-init%28%29-API-compatibility--tf4808463.html

      See also: SOLR-260, SOLR-215, SOLR-399

      Attachments

        1. SOLR-414-Initialization.patch
          52 kB
          Ryan McKinley
        2. SOLR-414-Initialization.patch
          52 kB
          Ryan McKinley
        3. SOLR-414-Initialization.patch
          64 kB
          Ryan McKinley
        4. SOLR-414-Initialization.patch
          63 kB
          Ryan McKinley
        5. SOLR-414-Initialization.patch
          86 kB
          Ryan McKinley

        Issue Links

          Activity

            People

              ryantxu Ryan McKinley
              ryantxu Ryan McKinley
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: