Author: shalin
Date: Thu Dec 18 22:37:28 2008
New Revision: 727944

URL: http://svn.apache.org/viewvc?rev=727944&view=rev
Log:
SOLR-918 follow up -- Remove synchronization when iterating over infoRegistry 
and update Javadocs

Modified:
    lucene/solr/trunk/src/java/org/apache/solr/core/SolrCore.java
    
lucene/solr/trunk/src/java/org/apache/solr/handler/admin/PluginInfoHandler.java
    lucene/solr/trunk/src/webapp/web/admin/stats.jsp

Modified: lucene/solr/trunk/src/java/org/apache/solr/core/SolrCore.java
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/core/SolrCore.java?rev=727944&r1=727943&r2=727944&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/core/SolrCore.java Thu Dec 18 
22:37:28 2008
@@ -238,6 +238,10 @@
   }
 
   /**
+   * Returns a Map of name vs SolrInfoMBean objects. The returned map is an 
instance of
+   * a ConcurrentHashMap and therefore no synchronization is needed for 
putting, removing
+   * or iterating over it.
+   *
    * @return the Info Registry map which contains SolrInfoMBean objects keyed 
by name
    * @since solr 1.3
    */

Modified: 
lucene/solr/trunk/src/java/org/apache/solr/handler/admin/PluginInfoHandler.java
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/admin/PluginInfoHandler.java?rev=727944&r1=727943&r2=727944&view=diff
==============================================================================
--- 
lucene/solr/trunk/src/java/org/apache/solr/handler/admin/PluginInfoHandler.java 
(original)
+++ 
lucene/solr/trunk/src/java/org/apache/solr/handler/admin/PluginInfoHandler.java 
Thu Dec 18 22:37:28 2008
@@ -59,36 +59,34 @@
       SimpleOrderedMap<Object> category = new SimpleOrderedMap<Object>();
       list.add( cat.name(), category );
       Map<String, SolrInfoMBean> reg = core.getInfoRegistry();
-      synchronized(reg) {
-        for (Map.Entry<String,SolrInfoMBean> entry : reg.entrySet()) {
-          SolrInfoMBean m = entry.getValue();
-          if (m.getCategory() != cat) continue;
-      
-          String na = "Not Declared";
-          SimpleOrderedMap<Object> info = new SimpleOrderedMap<Object>();
-          category.add( entry.getKey(), info );
-          
-          info.add( "name",        (m.getName()       !=null ? m.getName()     
   : na) );
-          info.add( "version",     (m.getVersion()    !=null ? m.getVersion()  
   : na) );
-          info.add( "description", (m.getDescription()!=null ? 
m.getDescription() : na) );
-          
-          info.add( "sourceId",    (m.getSourceId()   !=null ? m.getSourceId() 
   : na) );
-          info.add( "source",      (m.getSource()     !=null ? m.getSource()   
   : na) );
-        
-          URL[] urls = m.getDocs();
-          if ((urls != null) && (urls.length > 0)) {
-            ArrayList<String> docs = new ArrayList<String>(urls.length);
-            for( URL u : urls ) {
-              docs.add( u.toExternalForm() );
-            }
-            info.add( "docs", docs );
-          }
-        
-          if( stats ) {
-            info.add( "stats", m.getStatistics() );
+      for (Map.Entry<String,SolrInfoMBean> entry : reg.entrySet()) {
+        SolrInfoMBean m = entry.getValue();
+        if (m.getCategory() != cat) continue;
+
+        String na = "Not Declared";
+        SimpleOrderedMap<Object> info = new SimpleOrderedMap<Object>();
+        category.add( entry.getKey(), info );
+
+        info.add( "name",        (m.getName()       !=null ? m.getName()       
 : na) );
+        info.add( "version",     (m.getVersion()    !=null ? m.getVersion()    
 : na) );
+        info.add( "description", (m.getDescription()!=null ? 
m.getDescription() : na) );
+
+        info.add( "sourceId",    (m.getSourceId()   !=null ? m.getSourceId()   
 : na) );
+        info.add( "source",      (m.getSource()     !=null ? m.getSource()     
 : na) );
+
+        URL[] urls = m.getDocs();
+        if ((urls != null) && (urls.length > 0)) {
+          ArrayList<String> docs = new ArrayList<String>(urls.length);
+          for( URL u : urls ) {
+            docs.add( u.toExternalForm() );
           }
+          info.add( "docs", docs );
+        }
+
+        if( stats ) {
+          info.add( "stats", m.getStatistics() );
         }
-      }  
+      }
     }
     return list;
   }

Modified: lucene/solr/trunk/src/webapp/web/admin/stats.jsp
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/src/webapp/web/admin/stats.jsp?rev=727944&r1=727943&r2=727944&view=diff
==============================================================================
--- lucene/solr/trunk/src/webapp/web/admin/stats.jsp (original)
+++ lucene/solr/trunk/src/webapp/web/admin/stats.jsp Thu Dec 18 22:37:28 2008
@@ -40,7 +40,6 @@
     <<%= cat.toString() %>>
 <%
  Map<String,SolrInfoMBean> reg = core.getInfoRegistry();
- synchronized(reg) {
   for (Map.Entry<String,SolrInfoMBean> entry : reg.entrySet()) {
     String key = entry.getKey();
     SolrInfoMBean m = entry.getValue();
@@ -84,7 +83,6 @@
 %>
 <%
   }
- }
 %>
     </<%= cat.toString() %>>
 <%


Reply via email to