Collection Disappear after restart of lucee

When I create a collection within the web admin everything work fine but if we have to restart lucee for any reason. The collection isn’t available anymore for the website.

Even by destroying the WEB-INF folder that doesn’t work properly because the folder of the collection is still there and recreating the collection with the same name will not overwrite the previous one.

Version Lucee 5.2.9.31
Servlet Container Apache Tomcat/8.5.23
Java 1.8.0_144 (Oracle Corporation) 64bit
OS Linux (4.9.0-4-amd64) 64bit
Lucene Installed version 2.4.1.32

Thanks in advance for any guidance for finding a solution for it.

Adding a collection after a restart of lucee create a java.lang.NullPointerException

lucee.runtime.exp.NativeException: java.lang.NullPointerException at org.lucee.extension.search.SearchEngineSupport.getCollectionElement(SearchEngineSupport.java:244) at org.lucee.extension.search.SearchEngineSupport.purgeCollection(SearchEngineSupport.java:222) at org.lucee.extension.search.SearchEngineSupport.purgeCollection(SearchEngineSupport.java:210) at org.lucee.extension.search.SearchCollectionSupport.purge(SearchCollectionSupport.java:445) at lucee.runtime.tag.Index.doPurge(Index.java:464) at lucee.runtime.tag.Index.doStartTag(Index.java:389) at views.main.create_searchcollection_cfm$cf.call(/views/main/create_searchcollection.cfm:9) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:933) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:823) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:805) at framework.one_cfc$cf.udfCallc(/framework/one.cfc:1928) at framework.one_cfc$cf.udfCall(/framework/one.cfc) at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:107) at lucee.runtime.type.UDFImpl._call(UDFImpl.java:357) at lucee.runtime.type.UDFImpl.call(UDFImpl.java:226) at lucee.runtime.type.scope.UndefinedImpl.call(UndefinedImpl.java:803) at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:756) at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1718) at framework.one_cfc$cf.udfCall6(/framework/one.cfc:913) at framework.one_cfc$cf.udfCall(/framework/one.cfc) at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:107) at lucee.runtime.type.UDFImpl._call(UDFImpl.java:357) at lucee.runtime.type.UDFImpl.call(UDFImpl.java:226) at lucee.runtime.ComponentImpl._call(ComponentImpl.java:693) at lucee.runtime.ComponentImpl._call(ComponentImpl.java:573) at lucee.runtime.ComponentImpl.call(ComponentImpl.java:1997) at lucee.runtime.listener.ModernAppListener.call(ModernAppListener.java:438) at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:216) at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:43) at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2464) at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2454) at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2427) at lucee.runtime.engine.Request.exe(Request.java:44) at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1090) at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1038) at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:102) at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) 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:52) 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:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException …

I’m able to reproduce the problem on a windows machine with commandBox 4.0.0

Just creating creating a new container with lucee 5.2.9.31 adding a collection filling the collection content and restarting lucee the collection disappear from the web context after a restart.

After testing different version of Lucee looks like the problem was introduce with the version of 5.2.7.63 earlier version from 5.2.1.9 all working normally.

What I can see it’s the file in the WEB-INF/lucee/search/search.xml is becoming empty
What can cause that this file lost all the information into it?
Which code can corrupt this file exactly?
If I type the data in everything works fine.

Hi @moonpo

Yeah, Issue happened on lucee. The list of collections were disappearing while restart of lucee. I’ve tested with 5.2.1.9, 5.2.9.31 and 5.3.1.74 lucee versions, all are working same way.

So, I created a ticket for this issue on Jira ([LDEV-2032] - Lucee)