You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2014/08/28 08:56:55 UTC
svn commit: r1621063 - in /jackrabbit/oak/branches/1.0: ./
oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/
oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/jmx/ oak-doc/
oak-lucene/src/main/java/org/apache/jackrabbit/oak/plu...
Author: chetanm
Date: Thu Aug 28 06:56:54 2014
New Revision: 1621063
URL: http://svn.apache.org/r1621063
Log:
OAK-1893 - MBean to dump Lucene Index content and related stats
OAK-1906 - Adding information to a Standard MBean interface using annotations
Merging 1605030,1605036,1602853,1605038,1605831,1605852. OAK-1906 required as OAK-1893 depends on that
Added:
jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/
- copied from r1605030, jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/
jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBean.java
- copied, changed from r1605030, jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBean.java
jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/Description.java
- copied unchanged from r1605030, jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/Description.java
jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/Impact.java
- copied unchanged from r1605030, jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/Impact.java
jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ImpactOption.java
- copied unchanged from r1605030, jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/ImpactOption.java
jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/Name.java
- copied unchanged from r1605030, jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/Name.java
jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/package-info.java
- copied unchanged from r1605030, jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/package-info.java
jackrabbit/oak/branches/1.0/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/jmx/
- copied from r1605030, jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/jmx/
jackrabbit/oak/branches/1.0/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBeanTest.java
- copied unchanged from r1605030, jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBeanTest.java
Modified:
jackrabbit/oak/branches/1.0/ (props changed)
jackrabbit/oak/branches/1.0/oak-doc/ (props changed)
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProvider.java
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
Propchange: jackrabbit/oak/branches/1.0/
------------------------------------------------------------------------------
Merged /jackrabbit/oak/trunk:r1602853,1605030,1605036,1605038,1605831,1605852
Copied: jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBean.java (from r1605030, jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBean.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBean.java?p2=jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBean.java&p1=jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBean.java&r1=1605030&r2=1621063&rev=1621063&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBean.java (original)
+++ jackrabbit/oak/branches/1.0/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/AnnotatedStandardMBean.java Thu Aug 28 06:56:54 2014
@@ -72,7 +72,7 @@ public class AnnotatedStandardMBean exte
@Override
protected int getImpact(MBeanOperationInfo info) {
- String opt = (String)info.getDescriptor().getFieldValue(Impact.NAME);
+ String opt = getValue(info, Impact.NAME);
return opt == null ? super.getImpact(info) : ImpactOption.valueOf(opt).value();
}
Propchange: jackrabbit/oak/branches/1.0/oak-doc/
------------------------------------------------------------------------------
Merged /jackrabbit/oak/trunk/oak-doc:r1602853,1605030,1605036,1605038,1605831,1605852
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java?rev=1621063&r1=1621062&r2=1621063&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java Thu Aug 28 06:56:54 2014
@@ -34,6 +34,7 @@ import static org.apache.jackrabbit.oak.
import java.io.IOException;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import org.apache.jackrabbit.oak.commons.PathUtils;
import org.apache.jackrabbit.oak.spi.commit.CompositeEditor;
@@ -128,6 +129,10 @@ class IndexTracker {
}
}
+ Set<String> getIndexNodePaths(){
+ return indices.keySet();
+ }
+
private synchronized IndexNode findIndexNode(String path) {
// Retry the lookup from acquireIndexNode now that we're
// synchronized. The acquire() call is guaranteed to succeed
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProvider.java?rev=1621063&r1=1621062&r2=1621063&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProvider.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProvider.java Thu Aug 28 06:56:54 2014
@@ -91,4 +91,8 @@ public class LuceneIndexProvider impleme
this.setAggregator(analyzer);
return this;
}
+
+ IndexTracker getTracker() {
+ return tracker;
+ }
}
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java?rev=1621063&r1=1621062&r2=1621063&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java Thu Aug 28 06:56:54 2014
@@ -22,6 +22,8 @@ package org.apache.jackrabbit.oak.plugin
import java.util.List;
import java.util.Map;
+import javax.management.NotCompliantMBeanException;
+
import com.google.common.collect.Lists;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
@@ -30,16 +32,20 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.apache.felix.scr.annotations.ReferencePolicy;
import org.apache.felix.scr.annotations.ReferencePolicyOption;
+import org.apache.jackrabbit.oak.osgi.OsgiWhiteboard;
import org.apache.jackrabbit.oak.plugins.index.aggregate.AggregateIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.aggregate.NodeAggregator;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
+import org.apache.jackrabbit.oak.spi.whiteboard.Registration;
import org.apache.lucene.analysis.Analyzer;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean;
+
@SuppressWarnings("UnusedDeclaration")
@Component(immediate = true)
public class LuceneIndexProviderService {
@@ -64,8 +70,11 @@ public class LuceneIndexProviderService
)
protected Analyzer analyzer;
+ private Registration mbeanReg;
+
@Activate
- private void activate(BundleContext bundleContext, Map<String, ?> config) {
+ private void activate(BundleContext bundleContext, Map<String, ?> config)
+ throws NotCompliantMBeanException {
indexProvider = new LuceneIndexProvider();
initialize();
@@ -73,6 +82,12 @@ public class LuceneIndexProviderService
regs.add(bundleContext.registerService(QueryIndexProvider.class.getName(), aggregate, null));
regs.add(bundleContext.registerService(Observer.class.getName(), indexProvider, null));
+
+ mbeanReg = registerMBean(new OsgiWhiteboard(bundleContext),
+ LuceneIndexMBean.class,
+ new LuceneIndexMBeanImpl(indexProvider.getTracker()),
+ LuceneIndexMBean.TYPE,
+ "Lucene Index statistics");
}
@Deactivate
@@ -81,6 +96,10 @@ public class LuceneIndexProviderService
reg.unregister();
}
+ if(mbeanReg != null){
+ mbeanReg.unregister();
+ }
+
if (indexProvider != null) {
indexProvider.close();
indexProvider = null;