-
Type: Bug
-
Status: Resolved
-
Priority: Critical
-
Resolution: Fixed
-
Affects Version/s: 10.10-HF53
-
Fix Version/s: 10.10-HF59
-
Component/s: S3
-
Release Notes Summary:Nuxeo starts correctly with S3 binary manager and digest async computation enabled.
-
Tags:
-
Backlog priority:850
-
Team:PLATFORM
-
Sprint:nxplatform #54
-
Story Points:3
Starting Nuxeo 10.10-HF53 Nuxeo fails to start when S3 binary manager and digestAsync are enabled.
This is due to the fact that StreamService needs the transient store service that needs the S3 binary manager service that needs the repositories to be initialized whereas repositories are initialized after the stream service (circular dependency).
This dependency is due to a support check on the repositories at initialization time, we should do that in a lazy way with a double lock mechanism.
2021-12-20T06:36:45,473 ERROR [ComponentManager] Component service:org.nuxeo.runtime.stream.service notification of application started failed: null2021-12-20T06:36:45,473 ERROR [ComponentManager] Component service:org.nuxeo.runtime.stream.service notification of application started failed: nulljava.lang.NullPointerException: null at org.nuxeo.ecm.blob.s3.S3BlobStore.supportsAsyncDigest(S3BlobStore.java:198) ~[nuxeo-core-binarymanager-s3-10.10-HF54.jar:?] at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) ~[?:1.8.0_312] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_312] at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1361) ~[?:1.8.0_312] at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_312] at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499) ~[?:1.8.0_312] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486) ~[?:1.8.0_312] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_312] at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230) ~[?:1.8.0_312] at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196) ~[?:1.8.0_312] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_312] at java.util.stream.ReferencePipeline.allMatch(ReferencePipeline.java:521) ~[?:1.8.0_312] at org.nuxeo.ecm.blob.s3.S3BlobStore.supportsAsyncDigest(S3BlobStore.java:194) ~[nuxeo-core-binarymanager-s3-10.10-HF54.jar:?] at org.nuxeo.ecm.blob.s3.S3BlobStore.<init>(S3BlobStore.java:160) ~[nuxeo-core-binarymanager-s3-10.10-HF54.jar:?] at org.nuxeo.ecm.blob.s3.S3BlobProvider.getBlobStore(S3BlobProvider.java:80) ~[nuxeo-core-binarymanager-s3-10.10-HF54.jar:?] at org.nuxeo.ecm.core.blob.BlobStoreBlobProvider.initialize(BlobStoreBlobProvider.java:60) ~[nuxeo-core-api-10.10-HF54.jar:?] at org.nuxeo.ecm.core.blob.BlobManagerComponent.getBlobProvider(BlobManagerComponent.java:209) ~[nuxeo-core-api-10.10-HF54.jar:?] at org.nuxeo.ecm.core.blob.BlobManagerComponent.getBlobProviderWithNamespace(BlobManagerComponent.java:236) ~[nuxeo-core-api-10.10-HF54.jar:?] at org.nuxeo.ecm.core.transientstore.keyvalueblob.KeyValueBlobTransientStore.getBlobProvider(KeyValueBlobTransientStore.java:212) ~[nuxeo-core-cache-10.10-HF53.jar:?] at org.nuxeo.ecm.core.transientstore.keyvalueblob.KeyValueBlobTransientStore.init(KeyValueBlobTransientStore.java:203) ~[nuxeo-core-cache-10.10-HF53.jar:?] at org.nuxeo.ecm.core.transientstore.TransientStorageComponent.getStore(TransientStorageComponent.java:73) ~[nuxeo-core-cache-10.10-HF53.jar:?] at org.nuxeo.ecm.core.transientstore.computation.TransientStoreOverflowRecordFilter.getTransientStore(TransientStoreOverflowRecordFilter.java:52) ~[nuxeo-core-cache-10.10-HF53.jar:?] at org.nuxeo.ecm.core.transientstore.computation.TransientStoreOverflowRecordFilter.init(TransientStoreOverflowRecordFilter.java:48) ~[nuxeo-core-cache-10.10-HF53.jar:?] at org.nuxeo.runtime.stream.StreamProcessorDescriptor$FilterDescriptor.getFilter(StreamProcessorDescriptor.java:95) ~[nuxeo-runtime-stream-10.10-HF32.jar:?] at org.nuxeo.runtime.stream.StreamServiceImpl.lambda$getSettings$5(StreamServiceImpl.java:208) ~[nuxeo-runtime-stream-10.10-HF32.jar:?] at java.util.ArrayList.forEach(ArrayList.java:1259) ~[?:1.8.0_312] at org.nuxeo.runtime.stream.StreamServiceImpl.getSettings(StreamServiceImpl.java:208) ~[nuxeo-runtime-stream-10.10-HF32.jar:?] at org.nuxeo.runtime.stream.StreamServiceImpl.initProcessor(StreamServiceImpl.java:182) ~[nuxeo-runtime-stream-10.10-HF32.jar:?] at java.util.ArrayList.forEach(ArrayList.java:1259) ~[?:1.8.0_312] at org.nuxeo.runtime.stream.StreamServiceImpl.start(StreamServiceImpl.java:160) ~[nuxeo-runtime-stream-10.10-HF32.jar:?] at org.nuxeo.runtime.model.impl.RegistrationInfoImpl.start(RegistrationInfoImpl.java:381) [nuxeo-runtime-10.10-HF45.jar:?] at org.nuxeo.runtime.model.impl.ComponentManagerImpl.startComponent(ComponentManagerImpl.java:718) [nuxeo-runtime-10.10-HF45.jar:?] at org.nuxeo.runtime.model.impl.ComponentManagerImpl.startComponents(ComponentManagerImpl.java:700) [nuxeo-runtime-10.10-HF45.jar:?] at org.nuxeo.runtime.model.impl.ComponentManagerImpl.start(ComponentManagerImpl.java:801) [nuxeo-runtime-10.10-HF45.jar:?] at org.nuxeo.runtime.osgi.OSGiRuntimeService.startComponents(OSGiRuntimeService.java:447) [nuxeo-runtime-10.10-HF45.jar:?] at org.nuxeo.runtime.osgi.OSGiRuntimeService.frameworkEvent(OSGiRuntimeService.java:462) [nuxeo-runtime-10.10-HF45.jar:?] at org.nuxeo.osgi.OSGiAdapter.fireFrameworkEvent(OSGiAdapter.java:223) [nuxeo-runtime-osgi-10.10-HF52.jar:?] at org.nuxeo.osgi.application.loader.FrameworkLoader.doStart(FrameworkLoader.java:226) [nuxeo-runtime-osgi-10.10-HF52.jar:?] at org.nuxeo.osgi.application.loader.FrameworkLoader.start(FrameworkLoader.java:125) [nuxeo-runtime-osgi-10.10-HF52.jar:?] at org.nuxeo.runtime.deployment.NuxeoStarter.start(NuxeoStarter.java:124) [nuxeo-runtime-deploy-10.10.jar:?] at org.nuxeo.runtime.deployment.NuxeoStarter.contextInitialized(NuxeoStarter.java:93) [nuxeo-runtime-deploy-10.10.jar:?] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889) [catalina-9.0.54.jar:9.0.54] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_312] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_312] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util-9.0.54.jar:9.0.54] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) [?:1.8.0_312] at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:583) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) [catalina-9.0.54.jar:9.0.54] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_312] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util-9.0.54.jar:9.0.54] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [?:1.8.0_312] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina-9.0.54.jar:9.0.54] at org.apache.catalina.startup.Catalina.start(Catalina.java:772) [catalina-9.0.54.jar:9.0.54] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_312] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_312] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312] at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) [bootstrap-9.0.54.jar:9.0.54] at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) [bootstrap-9.0.54.jar:9.0.54]
- is caused by
-
NXP-30621 Fix blob provider initialization for transient stores
- Resolved