core
core copied to clipboard
[Push Publishing] : Error when pushing Advanced Templates
Problem Statement
An error is being logged in dotCMS when users try to push a Template under the following circumstances:
- The Push Publishing bundle contains a version of the Template that doesn't exist in the receiving instance anymore.
- The user is pushing an Advanced Template whose
drawed_bodycolumn equalsNULL.
Steps to Reproduce
- Create an Advanced Template named
My Template. - Add the Default Container in it.
- Create a test HTML Page that uses such a Template.
- Generate a bundle with that test page, and download it for Publishing with Everything and Dependencies.
- Go back to the test Template you created, and do the following:
- Re-name the Template to
My Template v2and publish it just to generate a new Inode. - Delete the previous Inode, which represents the version of the Template contained in the bundle.
- Re-name the Template to
- Upload the previously generated bundle.
- The following error is thrown:
14:43:43.282 ERROR handler.TemplateHandler - An error occurred when processing Template in '/Users/jcastro-2022/dotCMS/git/dev/core/misc-core/dotcms_assets/assets/bundles/aaa-01JXNAA9Z1QGZ5H838W30ARREP/live/demo.dotcms.com/a003b1b7a8325407a1e48a8d09b38e57.template.template.xml' with ID 'my template': a003b1b7a8325407a1e48a8d09b38e57
java.lang.IllegalArgumentException: argument "content" is null
at com.fasterxml.jackson.databind.ObjectMapper._assertNotNull(ObjectMapper.java:5060) ~[?:?]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3815) ~[?:?]
at com.dotcms.rendering.velocity.viewtools.DotTemplateTool.getTemplateLayoutFromJSON(DotTemplateTool.java:248) ~[?:?]
at com.dotcms.rendering.velocity.viewtools.DotTemplateTool.getTemplateLayout(DotTemplateTool.java:230) ~[?:?]
at com.dotcms.enterprise.publishing.remote.handler.TemplateHandler.saveTemplate(TemplateHandler.java:187) ~[?:?]
at com.dotcms.enterprise.publishing.remote.handler.TemplateHandler.handleTemplates(TemplateHandler.java:132) ~[?:?]
at com.dotcms.enterprise.publishing.remote.handler.TemplateHandler.handle(TemplateHandler.java:87) ~[?:?]
at com.dotcms.publisher.receiver.BundlePublisher.process(BundlePublisher.java:225) ~[?:?]
at com.dotcms.rest.PushPublisherJob.processBundle(PushPublisherJob.java:40) ~[?:?]
at com.dotcms.rest.BundleResource.uploadBundleSync(BundleResource.java:928) ~[?:?]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at com.dotcms.rest.config.DotResourceMethodInvocationHandlerProvider$ProactiveClassLoaderHandler.invoke(DotResourceMethodInvocationHandlerProvider.java:70) ~[?:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124) ~[?:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167) ~[?:?]
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176) ~[?:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79) ~[?:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469) ~[?:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391) ~[?:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80) ~[?:?]
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253) ~[?:?]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) ~[?:?]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) ~[?:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:292) ~[?:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:274) ~[?:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:244) ~[?:?]
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) ~[?:?]
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232) ~[?:?]
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:679) ~[?:?]
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:392) ~[?:?]
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346) ~[?:?]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:365) ~[?:?]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:318) ~[?:?]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotmarketing.filters.CMSFilter.doFilterInternal(CMSFilter.java:212) ~[?:?]
at com.dotmarketing.filters.CMSFilter.doFilter(CMSFilter.java:62) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.filters.interceptor.AbstractWebInterceptorSupportFilter.doFilter(AbstractWebInterceptorSupportFilter.java:90) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.filters.interceptor.AbstractWebInterceptorSupportFilter.doFilter(AbstractWebInterceptorSupportFilter.java:90) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.visitor.filter.servlet.VisitorFilter.doFilter(VisitorFilter.java:81) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.vanityurl.filters.VanityURLFilter.doFilter(VanityURLFilter.java:107) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) ~[?:?]
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) ~[?:?]
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) ~[?:?]
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotmarketing.filters.TimeMachineFilter.doFilter(TimeMachineFilter.java:149) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotmarketing.filters.ThreadNameFilter.doFilter(ThreadNameFilter.java:88) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotmarketing.filters.CookiesFilter.doFilter(CookiesFilter.java:53) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotmarketing.filters.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:99) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.filters.interceptor.AbstractWebInterceptorSupportFilter.doFilter(AbstractWebInterceptorSupportFilter.java:90) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:129) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.filters.NormalizationFilter.doFilter(NormalizationFilter.java:89) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) ~[?:?]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[?:?]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) ~[?:?]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) ~[?:?]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670) ~[?:?]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[?:?]
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:765) ~[?:?]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[?:?]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[?:?]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) ~[?:?]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[?:?]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) ~[?:?]
at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1732) ~[?:?]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[?:?]
at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1295) ~[?:?]
at org.apache.tomcat.util.net.Nio2Endpoint.setSocketOptions(Nio2Endpoint.java:339) ~[?:?]
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2Acceptor.completed(Nio2Endpoint.java:479) ~[?:?]
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2Acceptor.completed(Nio2Endpoint.java:415) ~[?:?]
at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) ~[?:?]
at java.base/sun.nio.ch.Invoker.invokeDirect(Invoker.java:160) ~[?:?]
at java.base/sun.nio.ch.Invoker.invoke(Invoker.java:188) ~[?:?]
at java.base/sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.onEvent(UnixAsynchronousServerSocketChannelImpl.java:194) ~[?:?]
at java.base/sun.nio.ch.KQueuePort$EventHandlerTask.run(KQueuePort.java:312) ~[?:?]
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
14:43:43.301 ERROR receiver.BundlePublisher - Error publishing bundle with ID 'aaa-01JXNAA9Z1QGZ5H838W30ARREP.tar.gz': An error occurred when processing Template in '/Users/jcastro-2022/dotCMS/git/dev/core/misc-core/dotcms_assets/assets/bundles/aaa-01JXNAA9Z1QGZ5H838W30ARREP/live/demo.dotcms.com/a003b1b7a8325407a1e48a8d09b38e57.template.template.xml' with ID 'my template': a003b1b7a8325407a1e48a8d09b38e57
com.dotcms.publishing.DotPublishingException: An error occurred when processing Template in '/Users/jcastro-2022/dotCMS/git/dev/core/misc-core/dotcms_assets/assets/bundles/aaa-01JXNAA9Z1QGZ5H838W30ARREP/live/demo.dotcms.com/a003b1b7a8325407a1e48a8d09b38e57.template.template.xml' with ID 'my template': a003b1b7a8325407a1e48a8d09b38e57
at com.dotcms.enterprise.publishing.remote.handler.TemplateHandler.handleTemplates(TemplateHandler.java:174) ~[?:?]
at com.dotcms.enterprise.publishing.remote.handler.TemplateHandler.handle(TemplateHandler.java:87) ~[?:?]
at com.dotcms.publisher.receiver.BundlePublisher.process(BundlePublisher.java:225) ~[?:?]
at com.dotcms.rest.PushPublisherJob.processBundle(PushPublisherJob.java:40) ~[?:?]
at com.dotcms.rest.BundleResource.uploadBundleSync(BundleResource.java:928) ~[?:?]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at com.dotcms.rest.config.DotResourceMethodInvocationHandlerProvider$ProactiveClassLoaderHandler.invoke(DotResourceMethodInvocationHandlerProvider.java:70) ~[?:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124) ~[?:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167) ~[?:?]
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176) ~[?:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79) ~[?:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469) ~[?:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391) ~[?:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80) ~[?:?]
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253) ~[?:?]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) ~[?:?]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) ~[?:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:292) ~[?:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:274) ~[?:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:244) ~[?:?]
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) ~[?:?]
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232) ~[?:?]
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:679) ~[?:?]
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:392) ~[?:?]
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346) ~[?:?]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:365) ~[?:?]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:318) ~[?:?]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotmarketing.filters.CMSFilter.doFilterInternal(CMSFilter.java:212) ~[?:?]
at com.dotmarketing.filters.CMSFilter.doFilter(CMSFilter.java:62) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.filters.interceptor.AbstractWebInterceptorSupportFilter.doFilter(AbstractWebInterceptorSupportFilter.java:90) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.filters.interceptor.AbstractWebInterceptorSupportFilter.doFilter(AbstractWebInterceptorSupportFilter.java:90) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.visitor.filter.servlet.VisitorFilter.doFilter(VisitorFilter.java:81) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.vanityurl.filters.VanityURLFilter.doFilter(VanityURLFilter.java:107) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) ~[?:?]
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) ~[?:?]
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) ~[?:?]
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotmarketing.filters.TimeMachineFilter.doFilter(TimeMachineFilter.java:149) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotmarketing.filters.ThreadNameFilter.doFilter(ThreadNameFilter.java:88) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotmarketing.filters.CookiesFilter.doFilter(CookiesFilter.java:53) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotmarketing.filters.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:99) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.filters.interceptor.AbstractWebInterceptorSupportFilter.doFilter(AbstractWebInterceptorSupportFilter.java:90) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:129) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at com.dotcms.filters.NormalizationFilter.doFilter(NormalizationFilter.java:89) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[?:?]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) ~[?:?]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[?:?]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) ~[?:?]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) ~[?:?]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670) ~[?:?]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[?:?]
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:765) ~[?:?]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[?:?]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[?:?]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) ~[?:?]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[?:?]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) ~[?:?]
at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1732) ~[?:?]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[?:?]
at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1295) ~[?:?]
at org.apache.tomcat.util.net.Nio2Endpoint.setSocketOptions(Nio2Endpoint.java:339) ~[?:?]
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2Acceptor.completed(Nio2Endpoint.java:479) ~[?:?]
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2Acceptor.completed(Nio2Endpoint.java:415) ~[?:?]
at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) ~[?:?]
at java.base/sun.nio.ch.Invoker.invokeDirect(Invoker.java:160) ~[?:?]
at java.base/sun.nio.ch.Invoker.invoke(Invoker.java:188) ~[?:?]
at java.base/sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.onEvent(UnixAsynchronousServerSocketChannelImpl.java:194) ~[?:?]
at java.base/sun.nio.ch.KQueuePort$EventHandlerTask.run(KQueuePort.java:312) ~[?:?]
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: java.lang.IllegalArgumentException: argument "content" is null
at com.fasterxml.jackson.databind.ObjectMapper._assertNotNull(ObjectMapper.java:5060) ~[?:?]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3815) ~[?:?]
at com.dotcms.rendering.velocity.viewtools.DotTemplateTool.getTemplateLayoutFromJSON(DotTemplateTool.java:248) ~[?:?]
at com.dotcms.rendering.velocity.viewtools.DotTemplateTool.getTemplateLayout(DotTemplateTool.java:230) ~[?:?]
at com.dotcms.enterprise.publishing.remote.handler.TemplateHandler.saveTemplate(TemplateHandler.java:187) ~[?:?]
at com.dotcms.enterprise.publishing.remote.handler.TemplateHandler.handleTemplates(TemplateHandler.java:132) ~[?:?]
... 103 more
14:43:43.331 ERROR Failed to publish because an error occurred: - Error publishing bundle with ID 'aaa-01JXNAA9Z1QGZ5H838W30ARREP.tar.gz': com.dotcms.publishing.DotPublishingException: An error occurred when processing Template in '/Users/jcastro-2022/dotCMS/git/dev/core/misc-core/dotcms_assets/assets/bundles/aaa-01JXNAA9Z1QGZ5H838W30ARREP/live/demo.dotcms.com/a003b1b7a8325407a1e48a8d09b38e57.template.template.xml' with ID 'my template': a003b1b7a8325407a1e48a8d09b38e57
Acceptance Criteria
Not having a value for the drawed_body is expected, and dotCMS must not fail when a Template like that is being pushed.
dotCMS Version
dotCMS 24.12.27 LTS, and latest main.
Proposed Objective
Core Features
Proposed Priority
Priority 2 - Important
External Links... Slack Conversations, Support Tickets, Figma Designs, etc.
Reported via Support ticket:
- https://helpdesk.dotcms.com/a/tickets/31536
Assumptions & Initiation Needs
No response
Quality Assurance Notes & Workarounds
No response
Sub-Tasks & Estimates
No response
PRs:
- https://github.com/dotCMS/core/pull/32429
QA Passed
Advanced templates with drawed_body field set to null are now push published as expected
[19/06/25 16:38:13:923 CST] INFO class com.dotcms.enterprise.publishing.remote.handler.TemplateHandler : [BundleID: 01JY55F7E2NWV1DZG0PSHG83X1.tar.gz] Template publish success, ID: cf30ef2d3751229346b87d3e35fc78b2, Inode: b2b52777-f085-49de-86bc-f52c1f9012c4, Name: Advanced Test Template -