You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2014/06/24 15:55:42 UTC
svn commit: r1605082 - in /lucene/dev/branches/branch_4x: ./ solr/
solr/core/ solr/core/src/java/org/apache/solr/core/
solr/core/src/java/org/apache/solr/handler/admin/
solr/core/src/test/org/apache/solr/handler/admin/
Author: noble
Date: Tue Jun 24 13:55:42 2014
New Revision: 1605082
URL: http://svn.apache.org/r1605082
Log:
SOLR-5902: Corecontainer level mbeans are not exposed
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_4x/solr/core/ (props changed)
lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java
lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/admin/MBeansHandlerTest.java
Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1605082&r1=1605081&r2=1605082&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Tue Jun 24 13:55:42 2014
@@ -41,6 +41,8 @@ Other Changes
* SOLR-6178, LUCENE-5775: Deprecate JaspellLookupFactory. (Uwe Schindler,
Mike McCandless)
+* SOLR-5902: Corecontainer level mbeans are not exposed (noble)
+
================== 4.9.0 ==================
Versions of Major Components
Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java?rev=1605082&r1=1605081&r2=1605082&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java Tue Jun 24 13:55:42 2014
@@ -816,4 +816,7 @@ public class SolrResourceLoader implemen
public void close() throws IOException {
IOUtils.close(classLoader);
}
+ public List<SolrInfoMBean> getInfoMBeans(){
+ return Collections.unmodifiableList(infoMBeans);
+ }
}
Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java?rev=1605082&r1=1605081&r2=1605082&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java Tue Jun 24 13:55:42 2014
@@ -34,6 +34,7 @@ import java.io.StringReader;
import java.net.URL;
import java.text.NumberFormat;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Set;
@@ -131,36 +132,39 @@ public class SolrInfoMBeanHandler extend
Map<String, SolrInfoMBean> reg = req.getCore().getInfoRegistry();
for (Map.Entry<String, SolrInfoMBean> entry : reg.entrySet()) {
- String key = entry.getKey();
- SolrInfoMBean m = entry.getValue();
+ addMBean(req, cats, requestedKeys, entry.getKey(),entry.getValue());
+ }
- if ( ! ( requestedKeys.isEmpty() || requestedKeys.contains(key) ) ) continue;
+ for (SolrInfoMBean infoMBean : req.getCore().getCoreDescriptor().getCoreContainer().getResourceLoader().getInfoMBeans()) {
+ addMBean(req,cats,requestedKeys,infoMBean.getName(),infoMBean);
+ }
+ return cats;
+ }
- NamedList<NamedList<Object>> catInfo = cats.get(m.getCategory().name());
- if ( null == catInfo ) continue;
+ private void addMBean(SolrQueryRequest req, NamedList<NamedList<NamedList<Object>>> cats, Set<String> requestedKeys, String key, SolrInfoMBean m) {
+ if ( ! ( requestedKeys.isEmpty() || requestedKeys.contains(key) ) ) return;
+ NamedList<NamedList<Object>> catInfo = cats.get(m.getCategory().name());
+ if ( null == catInfo ) return;
+ NamedList<Object> mBeanInfo = new SimpleOrderedMap<>();
+ mBeanInfo.add("class", m.getName());
+ mBeanInfo.add("version", m.getVersion());
+ mBeanInfo.add("description", m.getDescription());
+ mBeanInfo.add("src", m.getSource());
- NamedList<Object> mBeanInfo = new SimpleOrderedMap<>();
- mBeanInfo.add("class", m.getName());
- mBeanInfo.add("version", m.getVersion());
- mBeanInfo.add("description", m.getDescription());
- mBeanInfo.add("src", m.getSource());
-
- // Use an external form
- URL[] urls = m.getDocs();
- if(urls!=null) {
- List<String> docs = new ArrayList<>(urls.length);
- for(URL url : urls) {
- docs.add(url.toExternalForm());
- }
- mBeanInfo.add("docs", docs);
+ // Use an external form
+ URL[] urls = m.getDocs();
+ if(urls!=null) {
+ List<String> docs = new ArrayList<>(urls.length);
+ for(URL url : urls) {
+ docs.add(url.toExternalForm());
}
-
- if (req.getParams().getFieldBool(key, "stats", false))
- mBeanInfo.add("stats", m.getStatistics());
-
- catInfo.add(key, mBeanInfo);
+ mBeanInfo.add("docs", docs);
}
- return cats;
+
+ if (req.getParams().getFieldBool(key, "stats", false))
+ mBeanInfo.add("stats", m.getStatistics());
+
+ catInfo.add(key, mBeanInfo);
}
protected NamedList<NamedList<NamedList<Object>>> getDiff(
Modified: lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/admin/MBeansHandlerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/admin/MBeansHandlerTest.java?rev=1605082&r1=1605081&r2=1605082&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/admin/MBeansHandlerTest.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/handler/admin/MBeansHandlerTest.java Tue Jun 24 13:55:42 2014
@@ -61,5 +61,13 @@ public class MBeansHandlerTest extends S
//System.out.println("stats:"+stats);
assertEquals("Was: 1, Now: 2, Delta: 1", stats.get("requests"));
+
+ xml = h.query(req(
+ CommonParams.QT,"/admin/mbeans",
+ "stats","true",
+ "key","org.apache.solr.handler.admin.CollectionsHandler"
+ ));
+ NamedList<NamedList<NamedList<Object>>> nl = SolrInfoMBeanHandler.fromXML(xml);
+ assertNotNull( nl.get("QUERYHANDLER").get("org.apache.solr.handler.admin.CollectionsHandler"));
}
}