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

all JMX Mbeans are identified as java.lang.String even if numeric

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      When trying to monitor our Solr instances with JMXtrans (https://github.com/lookfirst/jmxtrans), we discovered that all the Mbeans were identifying themselves as java.lang.String. This breaks the GangliaWriter in JMXtrans because the software decides it's a string instead of a numeric values and you can't graph a string. Other software we are monitoring with JMXtrans (e.g. Kafka) correctly identify their numeric values as numbers (doubles in this case).

      For example, avgTimePerRequest in Solr is identified as a string which makes no sense. This behavior makes Solr less interoperable with the rest of the Java ecosystem.

      The problem code is in JmxMonitoredMap.java

      NamedList dynamicStats = infoBean.getStatistics();
      if (dynamicStats != null) {
      for (int i = 0; i < dynamicStats.size(); i++)

      { String name = dynamicStats.getName(i); if (!staticStats.contains(name)) attrInfoList.add(new MBeanAttributeInfo(dynamicStats.getName(i), String.class.getName(), null, true, false, false)); }

      I will try to attach a screenshot.

      Thanks for Solr! We use the heck out of it, it's awesome.

      Attachments

        Activity

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

          People

            ryantxu Ryan McKinley
            tsiteops Tagged Siteops
            Votes:
            3 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment