[ 
https://issues.apache.org/jira/browse/SOLR-256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12607480#action_12607480
 ] 

shalinmangar edited comment on SOLR-256 at 6/23/08 11:02 PM:
----------------------------------------------------------------------

*Changes*

* Updated the documentation in example solrconfig.xml as per Hoss's suggestion
* Renamed JmxManager to JmxMonitoredMap which extends a ConcurrentHashMap and 
overrides put, remove and clear methods
* The JmxMonitoredMap is used to hold the infoRegistry (String->SolrInfoMBean) 
so that registration and unregistration is done automatically (which takes care 
of dynamic registration of request handlers, lazy loading, new 
SolrIndexSearchers etc.)
* The SolrIndexSearcher is added with the name "searcher" to the map so that 
the name of the MBean doesn't change which helps setup monitoring
* Instead of removing SolrIndexSearcher from the registry, it is simply 
replaced when SolrIndexSearcher#register method is called. This makes sure that 
the searcher registered with JMX is the current searcher (with a small margin 
of error)
* Added two tests
** TestJmxMonitoredMap passes a service url syntax to JmxMonitoredMap and uses 
a mocked SolrInfoMBean to test the put, remove and clear methods. Note that 
this test uses a hard-coded port number -- unavailability of this port will 
fail the test.
** TestJmxIntegration uses the AbstractSolrTestCase with the platform 
MBeanServer to test availability of Solr MBeans and tests for its updation by 
adding a document.

      was (Author: shalinmangar):
    *Changes*

* Renamed JmxManager to JmxMonitoredMap which extends a ConcurrentHashMap and 
overrides put, remove and clear methods
* The JmxMonitoredMap is used to hold the infoRegistry (String->SolrInfoMBean) 
so that registration and unregistration is done automatically (which takes care 
of dynamic registration of request handlers, lazy loading, new 
SolrIndexSearchers etc.)
* The SolrIndexSearcher is added with the name "searcher" to the map so that 
the name of the MBean doesn't change which helps setup monitoring
* Instead of removing SolrIndexSearcher from the registry, it is simply 
replaced when SolrIndexSearcher#register method is called. This makes sure that 
the searcher registered with JMX is the current searcher (with a small margin 
of error)
* Added two tests
** TestJmxMonitoredMap passes a service url syntax to JmxMonitoredMap and uses 
a mocked SolrInfoMBean to test the put, remove and clear methods. Note that 
this test uses a hard-coded port number -- unavailability of this port will 
fail the test.
** TestJmxIntegration uses the AbstractSolrTestCase with the platform 
MBeanServer to test availability of Solr MBeans and tests for its updation by 
adding a document.
  
> Stats via JMX
> -------------
>
>                 Key: SOLR-256
>                 URL: https://issues.apache.org/jira/browse/SOLR-256
>             Project: Solr
>          Issue Type: New Feature
>          Components: search, update
>            Reporter: Sharad Agarwal
>            Assignee: Hoss Man
>            Priority: Minor
>             Fix For: 1.3
>
>         Attachments: jmx.patch, jmx.patch, jmx.patch, jmx.patch, jmx.patch, 
> SOLR-256.patch, SOLR-256.patch, SOLR-256.patch, SOLR-256.patch, 
> SOLR-256.patch, SOLR-256.patch
>
>
> This patch adds JMX capability to get statistics from all the SolrInfoMBean.
> The implementation is done such a way to minimize code changes. 
> In SolrInfoRegistry, I have overloaded Map's  put and remove methods to 
> register and unregister SolrInfoMBean in MBeanServer. 
> Later on, I am planning to use register and unregister methods in 
> SolrInfoRegistry and removing getRegistry() method (Hiding the map instance 
> to other classes)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to