[MAGNOLIA-7280] Empty property in yaml definition breaks whole definition indexing Created: 15/Mar/18 Updated: 24/Nov/20 Resolved: 20/Mar/18 |
|
| Status: | Closed |
| Project: | Magnolia |
| Component/s: | None |
| Affects Version/s: | 5.6.2 |
| Fix Version/s: | 5.6.3 |
| Type: | Bug | Priority: | Major |
| Reporter: | Tomáš Gregovský | Assignee: | Ilgun Ilgun |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Template: |
|
||||||||||||||||
| Acceptance criteria: |
Empty
|
||||||||||||||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||||||||||||||
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
||||||||||||||||
| Date of First Response: | |||||||||||||||||
| Sprint: | Basel 139 | ||||||||||||||||
| Story Points: | 2 | ||||||||||||||||
| Description |
|
colored textIssue discovered in CLOUDHELP-66, we used to have yaml page templates with empty properties, by mistake, but it was working on 5.5.7. example of template:
title: '_ HTML code [#dx #yaml]'
renderType: freemarker
templateScript: /dx/ftls/components/content/html.ftl
dialog: dx:components/content/cHTML
description:
i18nBasename: info.magnolia.module.templatingkit.messages
but after migration from 5.5.7 to 5.6.3 it breaks Magnolia - e.g. the whole process which observe filesystem for yaml definitions stop with error (see below), but even if you fix it or remove broken definition file Magnolia will NOT reindex until restart. 2018-03-15 09:57:11,589 ERROR info.magnolia.module.ModuleManagerImpl : Can't start module rendering java.lang.NullPointerException: null at java.util.HashMap.merge(HashMap.java:1216) ~[?:1.8.0_65] at java.util.stream.Collectors.lambda$toMap$173(Collectors.java:1320) ~[?:1.8.0_65] at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) ~[?:1.8.0_65] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_65] at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[?:1.8.0_65] at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:1.8.0_65] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_65] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_65] at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_65] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_65] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_65] at info.magnolia.config.source.yaml.MetadataProcessor.filterMap(MetadataProcessor.java:72) ~[classes/:?] at info.magnolia.config.source.yaml.MetadataProcessor.process(MetadataProcessor.java:63) ~[classes/:?] at info.magnolia.config.source.yaml.YamlDefinitionProvider.resolve(YamlDefinitionProvider.java:187) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.source.yaml.YamlDefinitionProvider.getDelegate(YamlDefinitionProvider.java:129) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.registry.AbstractDefinitionProviderWrapper.getMetadata(AbstractDefinitionProviderWrapper.java:56) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.registry.AbstractDefinitionProviderWrapper.getMetadata(AbstractDefinitionProviderWrapper.java:56) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.registry.RegistryMap.asStringKey(RegistryMap.java:156) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.registry.RegistryMap.put(RegistryMap.java:96) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.registry.AbstractRegistry.register(AbstractRegistry.java:96) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.source.yaml.YamlConfigurationSource.loadAndRegister(YamlConfigurationSource.java:114) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.source.yaml.AbstractFileResourceConfigurationSource$LoadAndRegisterFunction.doWith(AbstractFileResourceConfigurationSource.java:286) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.source.yaml.AbstractFileResourceConfigurationSource$LoadAndRegisterFunction.doWith(AbstractFileResourceConfigurationSource.java:282) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.resourceloader.util.VoidFunction.apply(VoidFunction.java:49) ~[magnolia-resource-loader-5.6.2.jar:?] at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:1.8.0_65] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_65] at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:352) ~[?:1.8.0_65] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_65] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_65] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:1.8.0_65] at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:1.8.0_65] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_65] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_65] at info.magnolia.config.source.yaml.AbstractFileResourceConfigurationSource.start(AbstractFileResourceConfigurationSource.java:153) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.source.yaml.YamlConfigurationSourceBuilder.bindTo(YamlConfigurationSourceBuilder.java:107) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.config.source.yaml.YamlConfigurationSourceBuilder.bindWithDefaults(YamlConfigurationSourceBuilder.java:114) ~[magnolia-configuration-5.6.2.jar:?] at info.magnolia.rendering.module.RenderingModule.start(RenderingModule.java:67) ~[magnolia-rendering-5.6.2.jar:?] at info.magnolia.module.ModuleManagerImpl.startModule(ModuleManagerImpl.java:413) ~[magnolia-core-5.6.2.jar:?] at info.magnolia.module.ModuleManagerImpl.startModules(ModuleManagerImpl.java:348) [magnolia-core-5.6.2.jar:?] at info.magnolia.module.ui.ModuleManagerWebUI.onStartup(ModuleManagerWebUI.java:78) [magnolia-core-5.6.2.jar:?] at info.magnolia.cms.beans.config.ConfigLoader.load(ConfigLoader.java:146) [magnolia-core-5.6.2.jar:?] at info.magnolia.init.MagnoliaServletContextListener$1.doExec(MagnoliaServletContextListener.java:259) [magnolia-core-5.6.2.jar:?] at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:407) [magnolia-core-5.6.2.jar:?] at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:404) [magnolia-core-5.6.2.jar:?] at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:378) [magnolia-core-5.6.2.jar:?] at info.magnolia.init.MagnoliaServletContextListener.startServer(MagnoliaServletContextListener.java:256) [magnolia-core-5.6.2.jar:?] at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:182) [magnolia-core-5.6.2.jar:?] at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:128) [magnolia-core-5.6.2.jar:?] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727) [catalina.jar:8.5.5] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5189) [catalina.jar:8.5.5] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.5.5] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724) [catalina.jar:8.5.5] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700) [catalina.jar:8.5.5] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) [catalina.jar:8.5.5] at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1107) [catalina.jar:8.5.5] at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1841) [catalina.jar:8.5.5] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_65] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_65] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_65] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_65] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_65] |