[ 
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)

Reply via email to