jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Munteanu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-4978) Expose maintainence related MBeans for Segment NodeStores created via factory
Date Wed, 14 Dec 2016 14:06:58 GMT

    [ https://issues.apache.org/jira/browse/OAK-4978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15748404#comment-15748404
] 

Robert Munteanu commented on OAK-4978:
--------------------------------------

[~frm] - thanks for looking into this. With latest oak trunk and two configured SegmentNodeStoreFactory
instances the registration fails, root cause seems to be 

{noformat}14.12.2016 16:00:11.107 *ERROR* [FelixStartLevel] org.apache.jackrabbit.oak-segment-tar
[org.apache.jackrabbit.oak.segment.SegmentNodeStoreFactory(149)] The activate method has thrown
an exception (java.lang.Ill
egalArgumentException: javax.management.MalformedObjectNameException: Invalid character `:'
in value)
java.lang.IllegalArgumentException: javax.management.MalformedObjectNameException: Invalid
character `:' in value
        at org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean(WhiteboardUtils.java:97)
        at org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.registerSegmentStore(SegmentNodeStoreService.java:421)
        at org.apache.jackrabbit.oak.segment.SegmentNodeStoreFactory.activate(SegmentNodeStoreFactory.java:113)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
        at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
        at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
        at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
        at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:302)
        at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:294)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:297)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:108)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:748)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674)
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:429)
        at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657)
        at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341)
        at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:403)
        at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54)
        at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:278)
        at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)
        at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482)
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415)
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
        at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)
        at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:916)
        at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:835)
        at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:517)
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2172)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
        at java.lang.Thread.run(Thread.java:745)
Caused by: javax.management.MalformedObjectNameException: Invalid character `:' in value
        at javax.management.ObjectName.parseValue(ObjectName.java:974)
        at javax.management.ObjectName.checkValue(ObjectName.java:1006)
        at javax.management.ObjectName.construct(ObjectName.java:725)
        at javax.management.ObjectName.<init>(ObjectName.java:1425)
        at org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean(WhiteboardUtils.java:93)
        ... 38 common frames omitted{noformat}

My configurations are:

{noformat}
  org.apache.jackrabbit.oak.plugins.multiplex.MountInfoProviderService
    mountName="libs"
    mountedPaths=[ "/libs", "/apps" ]
    readOnlyMount=B"true"

  org.apache.jackrabbit.oak.segment.SegmentNodeStoreFactory-global
    role="multiplexing:global"
    registerDescriptors=B"true"
    customBlobStore=B"true"

   org.apache.jackrabbit.oak.segment.SegmentNodeStoreFactory-libs
    role="multiplexing:mount:libs"
    customBlobStore=B"true"

  org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore
	path="crx-quickstart/repository/datastore"

  org.apache.jackrabbit.oak.plugins.multiplex.MultiplexingNodeStoreService
    enabled=B"true"
{noformat}

> Expose maintainence related MBeans for Segment NodeStores created via factory
> -----------------------------------------------------------------------------
>
>                 Key: OAK-4978
>                 URL: https://issues.apache.org/jira/browse/OAK-4978
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar, segmentmk
>            Reporter: Chetan Mehrotra
>            Assignee: Francesco Mari
>             Fix For: 1.6, 1.5.16
>
>         Attachments: OAK-4978-02.patch, OAK-4978-03.patch, OAK-4978.patch
>
>
> With OAK-4655 support was added to initializing multiple segment nodestores and have
them exposed via {{NodeStoreProvider}} ties to different roles.
> In some cases such stores are immutable and do not require any maintenance. However for
other cases maintenance is required. So we would need to expose various MBean which allow
such maintenance activities.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message