thanks for the tip, you were right. I removed the lucene index and had it recreated, search works fine now again.
cheers, Harry On Sun, 23 Feb 2020 at 18:41, Juan Pablo Santos RodrÃguez < juanpablo.san...@gmail.com> wrote: > Hi Harry, > > that Lucene80 constant is suspicious, as it means you're somehow relying on > the Lucene 8.0 codec to do the indexing, and the end of > the stacktrace is telling that you only have available Lucene 8.4(.1), > which is what JSPWiki bundles. IIRC, on previous versions of Lucene > you had to supply this constant on your code, but it is not necessary > anymore, and also IIRC, JSPWiki doesn't specify it anymore. > > I'm finishing a big push so cannot test right now other than unit testing, > but would you mind seeing if there are Lucene/JSPWiki old classes > on tomcat's work dir / try triggering a full Lucene reindex to see if that > is enough to solve the issue? If it doesn't, please allow me a couple of > days (tops) to see if I can reproduce it? Agree to add the dependency if > it's needed. > > > best regards, > juan pablo > > On Sun, Feb 23, 2020 at 2:57 PM Harry Metske <harry.met...@gmail.com> > wrote: > > > Hi, > > > > I noticed that my jspwiki search is broken, see below stacktrace. > > Adding lucene-backward-codecs.jar to the pom.xml, rebuilding and > > redeploying fixes the problem. > > > > I think it was broken a few versions earlier already, should we add that > > dependency? > > > > cheers, > > Harry > > > > > > 2020-02-23 14:49:33,077 INFO search.SearchManager - AJAX search failed; > > java.lang.IllegalArgumentException: Could not load codec 'Lucene80'. Did > > you forget to add lucene-backward-codecs.jar? > > at org.apache.lucene.index.SegmentInfos.readCodec(SegmentInfos.java:420) > > at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:352) > > at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:289) > > at > > > > > org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:64) > > at > > > > > org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:61) > > at > > > > > org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:680) > > at > > > > > org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:84) > > at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:76) > > at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:64) > > at > > > > > org.apache.wiki.search.LuceneSearchProvider.findPages(LuceneSearchProvider.java:480) > > at > > > > > org.apache.wiki.search.SearchManager$JSONSearch.findPages(SearchManager.java:202) > > at > > > > > org.apache.wiki.search.SearchManager$JSONSearch.service(SearchManager.java:132) > > at > > > > > org.apache.wiki.ajax.WikiAjaxDispatcherServlet.performAction(WikiAjaxDispatcherServlet.java:144) > > at > > > > > org.apache.wiki.ajax.WikiAjaxDispatcherServlet.doPost(WikiAjaxDispatcherServlet.java:104) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) > > 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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200) > > 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.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) > > 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:834) > > at > > org.apache.tomcat.util.net > > .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415) > > at > > org.apache.tomcat.util.net > > .SocketProcessorBase.run(SocketProcessorBase.java:49) > > 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: java.lang.IllegalArgumentException: An SPI class of type > > org.apache.lucene.codecs.Codec with name 'Lucene80' does not exist. You > > need to add the corresponding JAR file supporting this SPI to your > > classpath. The current classpath supports the following names: > [Lucene84] > > at org.apache.lucene.util.NamedSPILoader.lookup(NamedSPILoader.java:116) > > at org.apache.lucene.codecs.Codec.forName(Codec.java:116) > > at org.apache.lucene.index.SegmentInfos.readCodec(SegmentInfos.java:416) > > ... 37 more > > >