We are getting error "unable to load the DynamicContent Module" while browsing default DXA 2.2 website. We have published the minimum content required to browse the website. Here is the website log showing the complete message:
2020-05-26 10:06:11,762 [23] WARN - Errors were found during the last GraphQL request.
2020-05-26 10:06:11,770 [23] ERROR - Sdl.Tridion.Api.GraphQL.Client.Exceptions.GraphQLClientException: Exception of type 'Sdl.Tridion.Api.GraphQL.Client.Exceptions.GraphQLClientException' was thrown.
GraphQLError : Exception while fetching data (/publicationMapping) : Fatal error, unable to load the DynamicContent Module at Line : 2 Column :2
at Sdl.Tridion.Api.GraphQL.Client.GraphQLClient.HandleErrors(IGraphQLResponse response)
at Sdl.Tridion.Api.GraphQL.Client.GraphQLClient.Execute[T](IGraphQLRequest graphQLrequest)
at Sdl.Tridion.Api.Client.ApiClient.GetPublicationMapping(ContentNamespace ns, String url)
at Sdl.Web.Tridion.Caching.CacheProvider.CreateCacheValue[T](UInt32 hash, String key, String region, Func`1 addFunction, IEnumerable`1 dependencies) in C:\Rancher\workspace\stash\develop\net\build_webapp\Sdl.Web.Tridion\Providers\Caching\CacheProvider.cs:line 133
at Sdl.Web.Tridion.Caching.CacheProvider.GetOrAdd[T](String key, String region, Func`1 addFunction, IEnumerable`1 dependencies) in C:\Rancher\workspace\stash\develop\net\build_webapp\Sdl.Web.Tridion\Providers\Caching\CacheProvider.cs:line 86
at Sdl.Web.Tridion.GraphQLLocalizationResolver.ResolveLocalization(Uri url) in C:\Rancher\workspace\stash\develop\net\build_webapp\Sdl.Web.Tridion\Resolvers\Localization\GraphQLLocalizationResolver.cs:line 34
at Sdl.Web.Mvc.Configuration.WebRequestContext.get_Localization() in C:\Rancher\workspace\stash\develop\net\build_webapp\Sdl.Web.Mvc\Configuration\WebRequestContext.cs:line 28
at Sdl.Web.Mvc.Statics.StaticContentModule.BeginRequest(Object sender, EventArgs e) in C:\Rancher\workspace\stash\develop\net\build_webapp\Sdl.Web.Mvc\Statics\StaticContentModule.cs:line 58
Sdl.Tridion.Api.GraphQL.Client.Exceptions.GraphQLClientException: Exception of type 'Sdl.Tridion.Api.GraphQL.Client.Exceptions.GraphQLClientException' was thrown.
GraphQLError : Exception while fetching data (/publicationMapping) : Fatal error, unable to load the DynamicContent Module at Line : 2 Column :2
at Sdl.Tridion.Api.GraphQL.Client.GraphQLClient.HandleErrors(IGraphQLResponse response)
at Sdl.Tridion.Api.GraphQL.Client.GraphQLClient.Execute[T](IGraphQLRequest graphQLrequest)
at Sdl.Tridion.Api.Client.ApiClient.GetPublicationMapping(ContentNamespace ns, String url)
at Sdl.Web.Tridion.Caching.CacheProvider.CreateCacheValue[T](UInt32 hash, String key, String region, Func`1 addFunction, IEnumerable`1 dependencies) in C:\Rancher\workspace\stash\develop\net\build_webapp\Sdl.Web.Tridion\Providers\Caching\CacheProvider.cs:line 133
at Sdl.Web.Tridion.Caching.CacheProvider.GetOrAdd[T](String key, String region, Func`1 addFunction, IEnumerable`1 dependencies) in C:\Rancher\workspace\stash\develop\net\build_webapp\Sdl.Web.Tridion\Providers\Caching\CacheProvider.cs:line 86
at Sdl.Web.Tridion.GraphQLLocalizationResolver.ResolveLocalization(Uri url) in C:\Rancher\workspace\stash\develop\net\build_webapp\Sdl.Web.Tridion\Resolvers\Localization\GraphQLLocalizationResolver.cs:line 34
at Sdl.Web.Mvc.Configuration.WebRequestContext.get_Localization() in C:\Rancher\workspace\stash\develop\net\build_webapp\Sdl.Web.Mvc\Configuration\WebRequestContext.cs:line 28
at Sdl.Web.Mvc.Statics.StaticContentModule.BeginRequest(Object sender, EventArgs e) in C:\Rancher\workspace\stash\develop\net\build_webapp\Sdl.Web.Mvc\Statics\StaticContentModule.cs:line 58
I can see the same error message in Content service log as well, so I believe error is indeed at the Content service end. Here is the error message I can see in Content service log:
ERROR [http-nio2-9081-exec-7] DynamicContent - Fatal error, unable to load the DynamicContent Module
com.tridion.configuration.ConfigurationException: com.sdl.delivery.configuration.ConfigurationException: Could not locate the root of the configuration
at com.tridion.dynamiccontent.DynamicContent.<init>(DynamicContent.java:120)
at com.tridion.dynamiccontent.DynamicContent.getInstance(DynamicContent.java:89)
at com.tridion.dynamiccontent.DynamicMappingsRetriever.getPublicationMapping(DynamicMappingsRetriever.java:57)
at com.sdl.delivery.content.model.core.datafetcher.PublicationMappingDataFetcher.fetch(PublicationMappingDataFetcher.java:22)
at com.sdl.delivery.content.model.core.datafetcher.PublicationMappingDataFetcher.fetch(PublicationMappingDataFetcher.java:15)
at com.sdl.delivery.content.model.core.datafetcher.AbstractEntityDataFetcher.get(AbstractEntityDataFetcher.java:36)
at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:258)
at graphql.execution.ExecutionStrategy.resolveFieldWithInfo(ExecutionStrategy.java:199)
at graphql.execution.AsyncExecutionStrategy.execute(AsyncExecutionStrategy.java:70)
at graphql.execution.Execution.executeOperation(Execution.java:158)
at graphql.execution.Execution.execute(Execution.java:100)
at graphql.GraphQL.execute(GraphQL.java:554)
at graphql.GraphQL.parseValidateAndExecute(GraphQL.java:496)
at graphql.GraphQL.executeAsync(GraphQL.java:470)
at graphql.GraphQL.execute(GraphQL.java:401)
at com.sdl.delivery.content.graphql.ContentAPIGraphQLExecutor.execute(ContentAPIGraphQLExecutor.java:88)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:205)
at com.sun.proxy.$Proxy149.execute(Unknown Source)
at com.sdl.delivery.content.controller.ContentAPIController.contentGQL(ContentAPIController.java:66)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.sdl.web.readwrite.filter.ReadWriteFilter.doFilter(ReadWriteFilter.java:58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.tridion.ambientdata.web.AbstractAmbientDataServletFilter.doFilter(AbstractAmbientDataServletFilter.java:298)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:114)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:104)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853)
at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1676)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1087)
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:589)
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:567)
at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:127)
at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:219)
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.sdl.delivery.configuration.ConfigurationException: Could not locate the root of the configuration
at com.sdl.web.discovery.delivery.configuration.mapper.ConfigurationResourceMapper.restoreTreeStructure(ConfigurationResourceMapper.java:101)
at com.sdl.web.discovery.delivery.configuration.mapper.ConfigurationResourceMapper.map(ConfigurationResourceMapper.java:57)
at com.sdl.web.discovery.delivery.configuration.ODataConfigurationProvider.doClientOperation(ODataConfigurationProvider.java:163)
at com.sdl.web.discovery.delivery.configuration.ODataConfigurationProvider.loadFromStorageConfiguration(ODataConfigurationProvider.java:102)
at com.sdl.web.discovery.delivery.configuration.ODataConfigurationProvider.provide(ODataConfigurationProvider.java:70)
at com.sdl.web.discovery.delivery.configuration.ODataConfigurationProvider.provide(ODataConfigurationProvider.java:46)
at com.sdl.web.discovery.delivery.configuration.HybridConfigurationProvider.getODataConfiguration(HybridConfigurationProvider.java:79)
at com.sdl.web.discovery.delivery.configuration.HybridConfigurationProvider.provide(HybridConfigurationProvider.java:48)
at com.sdl.web.discovery.delivery.configuration.HybridConfigurationProvider.provide(HybridConfigurationProvider.java:34)
at com.sdl.web.discovery.delivery.configuration.CachingConfigurationProvider.provide(CachingConfigurationProvider.java:88)
at com.sdl.delivery.configuration.ConfigurationLoaderImpl.load(ConfigurationLoaderImpl.java:47)
at com.tridion.dynamiccontent.DynamicContent.loadConfiguration(DynamicContent.java:149)
at com.tridion.dynamiccontent.DynamicContent.<init>(DynamicContent.java:107)
... 86 common frames omitted
I can access Content service and able to retrieve the content. Wondering if anyone face the similar issue and know the reason of this?
Update:
To further debug it I tried to get the Publication mapping using postman(http:///client/v4/content.svc/GetPublicationMappingsFunctionImport(Url='')) and I can see the similar error there as well. Wondering if there might be some issue with Topologies. Error showing in the postman:
java.lang.RuntimeException: Fatal error, unable to load the DynamicContent Module