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

SolrCore.infoRegistry needs overhauled with some form of "namespacing"

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      While investigating SOLR-3616 / SOLR-2715, I realized the failure i was seeing didn't seem to be related to the initial report of that bug, and instead seemed to be due to an obvious and fundemental limitation in the way SolrCore keeps track of "plugins" using the infoRegistry: It's just a Map<String, SolrInfoMBean> keyed off of the name of the plugin, but there is not "namespacing" used in the infoRegistry, so two completley different types of plugins with the same name will overwrite each other.

      When looking at data using something like /admin/mbeans, this manifests itself solely as missing objects: last one .put() into the infoRegistry "wins" – using JMX, both objects are actually visible because of how JMX ObjectNames are built arround a set of key=val pairs, and a bug in how JmxMonitorMap unregisters existing MBeans when .put() is called on a key it already knows about (the unregister call is made using an ObjectName built using the infoBean passed to the put() call – if infoBean.getName() is not exactly the same as the previous infoBean put() with the same key, then the MbeanServer will continue to know about both of them)

        Attachments

        1. SOLR-5095.patch
          5 kB
          Vitaliy Zhovtyuk
        2. SOLR-5095_bug_demo.patch
          1 kB
          Chris M. Hostetter

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                hossman Chris M. Hostetter
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: