Issue with Azure Blob Store integration as AEM data Store
Hello,
We are trying to configure Azure Blob Store as an AEM external data store following the document here - Configuring node stores and data stores in AEM 6
However, it seems the data store is not working as expected because the AzureDataStoreService is not started properly.
When we checked we found below exception in error.log
21.02.2019 17:11:45.790 *INFO* [FelixStartLevel] org.apache.jackrabbit.oak-blob-cloud-azure BundleEvent RESOLVED
21.02.2019 17:11:45.790 *INFO* [FelixStartLevel] org.apache.jackrabbit.oak-blob-cloud-azure BundleEvent STARTING
21.02.2019 17:11:45.825 *INFO* [FelixStartLevel] org.apache.jackrabbit.oak-blob-cloud-azure Service [770, [org.osgi.service.cm.ManagedService]] ServiceEvent REGISTERED
21.02.2019 17:11:45.881 *ERROR* [FelixStartLevel] org.apache.jackrabbit.oak-blob-plugins bundle org.apache.jackrabbit.oak-blob-plugins:1.8.2 (99)[org.apache.jackrabbit.oak.plugins.blob.ConsolidatedDataStoreCacheStats(166)] : The activate method has thrown an exception (java.lang.NullPointerException)
java.lang.NullPointerException: null
at org.apache.jackrabbit.oak.plugins.blob.AbstractSharedCachingDataStore.getStats(AbstractSharedCachingDataStore.java:359) [org.apache.jackrabbit.oak-blob-plugins:1.8.2]
at org.apache.jackrabbit.oak.plugins.blob.ConsolidatedDataStoreCacheStats.activate(ConsolidatedDataStoreCacheStats.java:94) [org.apache.jackrabbit.oak-blob-plugins:1.8.2]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:334) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:947) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:919) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:750) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1053) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1007) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
at org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4595)
at org.apache.felix.framework.Felix.registerService(Felix.java:3587)
at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
at org.apache.jackrabbit.oak.blob.cloud.azure.blobstorage.AbstractAzureDataStoreService.createDataStore(AbstractAzureDataStoreService.java:53) [org.apache.jackrabbit.oak-blob-cloud-azure:1.6.3]
at org.apache.jackrabbit.oak.plugins.blob.datastore.AbstractDataStoreService.activate(AbstractDataStoreService.java:77) [org.apache.jackrabbit.oak-blob-plugins:1.8.2]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:334) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:947) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:919) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:750) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:661) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:427) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:665) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:339) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:381) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.Activator.access$200(Activator.java:49) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:263) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [org.apache.felix.scr:2.1.0.B008]
at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [org.apache.felix.scr:2.1.0.B008]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) [org.apache.felix.eventadmin:1.4.10]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) [org.apache.felix.eventadmin:1.4.10]
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [org.apache.felix.eventadmin:1.4.10]
at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [org.apache.felix.eventadmin:1.4.10]
at org.apache.felix.framework.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:915)
at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:834)
at org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:516)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2174)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.lang.Thread.run(Unknown Source)
Anyone faced this error? Any idea how to resolve this.
Since this is not working, AEM by default using the datastore within the repository as a fallback option. But we would like to use the Azure Blob store for Asset storage.