Ok, you may want to step back and do a basic Solr example (download matching version tgz file, decompress, "bin/solr -e techproducts" is a good one, may need to shut the other Solr or give different port (-p flag). Just so you know what you are looking at before dovecot starts to introduce extra complexities. These are two full-featured products we are trying to mesh.
But specifically regarding the URL, in http://localhost:8983/solr/dovecot/select * http://localhost:8983 - server * /solr - is a sort of compulsory part of URL * /dovecot - is the name of the core/directory . You usually give URL up to that point in configuration * /select - is the request handler. Dovecot knows to add it (unless you have custom schema, then they may have different one defined in solrconfig.xml). But if you want to run your own query, you need to have the full url and then send some params (?q=*:* is a good start) Or, you can hit http://localhost:8983 in your browser and it will open the Admin UI and show you the cores and you could run the Query from there. Note that Admin UI for the core (with # in it) is not the URL you should be using directly. In the query screen, it does show you the full query string though. While in Admin UI, have a look at core information and it will tell you where the solr.home is (/var/solr/data?), where the conf directory and data directories are (usually right under solr.home). If these are not where you expect them, this will help to debug. Regards, Alex. On Thu, 27 Aug 2020 at 14:58, Francis Augusto Medeiros-Logeay <r...@med-lo.eu> wrote: > > Hi Alex and Erick, > > Thanks for helping out. > > True, restarting solr recreated the directory, but I still get 500 > internal errors when reindexing from Dovecot. > Just to be clear: I delete the Data directory inside the > solr/data/dovecot directory. > > All the directories are owned by solr:solr, so it doesn't look like it's > a permission issue. > > I did a curl to see if I get something, but got this: > $curl localhost:8983/solr/dovecot > <html> > <head> > <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> > <title>Error 404 Not Found</title> > </head> > <body><h2>HTTP ERROR 404</h2> > <p>Problem accessing /solr/dovecot. Reason: > <pre> Not Found</pre></p> > </body> > </html> > > Anything else I could try? > > Best, > > Francis > > On 2020-08-27 20:46, Alexandre Rafalovitch wrote: > > Uhm right. I may have forgotten to mention that you do need to reload > > the core or maybe restart Solr server as well. If you literally just > > deleted the index, Solr is probably freaking out about suddenly gone > > files. It needs to redo the path of "is this the first time or do I > > reopen the indexes" > > > > Regards, > > Alex. > > > > On Thu, 27 Aug 2020 at 14:29, Erick Erickson <erickerick...@gmail.com> > > wrote: > >> > >> “write.lock” is used by Lucene to insure that no two cores open the > >> same index because if they do, Bad Things Happen. > >> > >> The “NoSuchFileException” may be a bit misleading, is there any chance > >> that any other core is looking at the same directory? > >> > >> And your assertion: I then deleted the "data" under the > >> "/var/solr/data/dovecot/data", and it didn't get recreated. > >> makes me _strongly_ suspect that your Solr data directories aren’t > >> where you think they are. > >> > >> Hmmm, you start with: sudo -u solr /opt/solr/bin/solr create -c > >> dovecot > >> > >> which makes me wonder if this is a permissions issue. What are the > >> perms on that directory? Is the user that > >> starts Solr able to write to them? > >> > >> Best, > >> Erick > >> > >> > >> > On Aug 27, 2020, at 2:13 PM, Francis Augusto Medeiros-Logeay > >> > <r...@med-lo.eu> wrote: > >> > > >> > Thanks Alex. > >> > > >> > Well, I just deleted the whole data, and configured it again, and get > >> > these errors from dovecot when indexing: > >> > > >> > doveadm(fran...@francisaugusto.com): Error: fts_solr: Indexing failed: > >> > 500 Server Error > >> > doveadm(fran...@francisaugusto.com): Error: Mailbox UOL: Mail search > >> > failed: Internal error occurred. Refer to server log for more > >> > information. [2020-08-27 20:09:36] > >> > doveadm(fran...@francisaugusto.com): Error: fts_solr: Indexing failed: > >> > 500 Server Error > >> > doveadm(fran...@francisaugusto.com): Error: Mailbox UOL: Transaction > >> > commit failed: FTS transaction commit failed: backend deinit > >> > doveadm(fran...@francisaugusto.com): Error: Mailbox All Mail: Mail > >> > search failed: Internal error occurred. Refer to server log for more > >> > information. [2020-08-27 20:09:36] > >> > doveadm(fran...@francisaugusto.com): Error: fts_solr: Indexing failed: > >> > 500 Server Error > >> > doveadm(fran...@francisaugusto.com): Error: Mailbox All Mail: > >> > Transaction commit failed: FTS transaction commit failed: backend deinit > >> > > >> > And so on. On Solr I see that I get two errors for each mailbox: > >> > > >> > org.apache.solr.common.SolrException: Error opening new searcher > >> > at > >> > org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2162) > >> > at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:2282) > >> > at > >> > org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:696) > >> > at > >> > org.apache.solr.update.processor.RunUpdateProcessor.processCommit(RunUpdateProcessorFactory.java:102) > >> > at > >> > org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:68) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalCommit(DistributedUpdateProcessor.java:1079) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.processCommit(DistributedUpdateProcessor.java:1066) > >> > at > >> > org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processCommit(LogUpdateProcessorFactory.java:160) > >> > at > >> > org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:281) > >> > at > >> > org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:188) > >> > at > >> > org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:97) > >> > at > >> > org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68) > >> > at > >> > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:198) > >> > at org.apache.solr.core.SolrCore.execute(SolrCore.java:2576) > >> > at > >> > org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:803) > >> > at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:582) > >> > at > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:424) > >> > at > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351) > >> > at > >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602) > >> > at > >> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) > >> > at > >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) > >> > at > >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) > >> > at > >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) > >> > at > >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) > >> > at > >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) > >> > at > >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) > >> > at > >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > >> > at > >> > org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > >> > at org.eclipse.jetty.server.Server.handle(Server.java:505) > >> > at > >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370) > >> > at > >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) > >> > at > >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) > >> > at > >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) > >> > at > >> > org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) > >> > at > >> > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) > >> > at > >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781) > >> > at > >> > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917) > >> > at java.base/java.lang.Thread.run(Thread.java:834) > >> > Caused by: org.apache.lucene.store.AlreadyClosedException: this > >> > IndexWriter is closed > >> > at > >> > org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:681) > >> > at > >> > org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:695) > >> > at > >> > org.apache.lucene.index.IndexWriter.nrtIsCurrent(IndexWriter.java:4946) > >> > at > >> > org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:293) > >> > at > >> > org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:282) > >> > at > >> > org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:260) > >> > at > >> > org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2073) > >> > ... 51 more > >> > Caused by: java.nio.file.NoSuchFileException: > >> > /var/solr/data/dovecot/data/index/write.lock > >> > at > >> > java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) > >> > at > >> > java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) > >> > at > >> > java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) > >> > at > >> > java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55) > >> > at > >> > java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:149) > >> > at > >> > java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99) > >> > at java.base/java.nio.file.Files.readAttributes(Files.java:1763) > >> > at > >> > org.apache.lucene.store.NativeFSLockFactory$NativeFSLock.ensureValid(NativeFSLockFactory.java:189) > >> > at > >> > org.apache.lucene.store.LockValidatingDirectoryWrapper.createOutput(LockValidatingDirectoryWrapper.java:43) > >> > at > >> > org.apache.lucene.store.TrackingDirectoryWrapper.createOutput(TrackingDirectoryWrapper.java:43) > >> > at > >> > org.apache.lucene.codecs.compressing.CompressingStoredFieldsWriter.<init>(CompressingStoredFieldsWriter.java:112) > >> > at > >> > org.apache.lucene.codecs.compressing.CompressingStoredFieldsFormat.fieldsWriter(CompressingStoredFieldsFormat.java:128) > >> > at > >> > org.apache.lucene.codecs.lucene50.Lucene50StoredFieldsFormat.fieldsWriter(Lucene50StoredFieldsFormat.java:183) > >> > at > >> > org.apache.lucene.index.StoredFieldsConsumer.initStoredFieldsWriter(StoredFieldsConsumer.java:39) > >> > at > >> > org.apache.lucene.index.StoredFieldsConsumer.startDocument(StoredFieldsConsumer.java:46) > >> > at > >> > org.apache.lucene.index.DefaultIndexingChain.startStoredFields(DefaultIndexingChain.java:367) > >> > at > >> > org.apache.lucene.index.DefaultIndexingChain.processDocument(DefaultIndexingChain.java:403) > >> > at > >> > org.apache.lucene.index.DocumentsWriterPerThread.updateDocument(DocumentsWriterPerThread.java:250) > >> > at > >> > org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:495) > >> > at > >> > org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1594) > >> > at > >> > org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1586) > >> > at > >> > org.apache.solr.update.DirectUpdateHandler2.updateDocOrDocValues(DirectUpdateHandler2.java:971) > >> > at > >> > org.apache.solr.update.DirectUpdateHandler2.doNormalUpdate(DirectUpdateHandler2.java:344) > >> > at > >> > org.apache.solr.update.DirectUpdateHandler2.addDoc0(DirectUpdateHandler2.java:291) > >> > at > >> > org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:238) > >> > at > >> > org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:76) > >> > at > >> > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalAdd(DistributedUpdateProcessor.java:259) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.doVersionAdd(DistributedUpdateProcessor.java:489) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.lambda$versionAdd$0(DistributedUpdateProcessor.java:339) > >> > at > >> > org.apache.solr.update.VersionBucket.runWithLock(VersionBucket.java:50) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:339) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:225) > >> > at > >> > org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103) > >> > at > >> > org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:261) > >> > ... 43 more > >> > > >> > null:org.apache.solr.common.SolrException: Error opening new searcher > >> > at > >> > org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2162) > >> > at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:2282) > >> > at > >> > org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:696) > >> > at > >> > org.apache.solr.update.processor.RunUpdateProcessor.processCommit(RunUpdateProcessorFactory.java:102) > >> > at > >> > org.apache.solr.update.processor.UpdateRequestProcessor.processCommit(UpdateRequestProcessor.java:68) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalCommit(DistributedUpdateProcessor.java:1079) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.processCommit(DistributedUpdateProcessor.java:1066) > >> > at > >> > org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processCommit(LogUpdateProcessorFactory.java:160) > >> > at > >> > org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:281) > >> > at > >> > org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:188) > >> > at > >> > org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:97) > >> > at > >> > org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68) > >> > at > >> > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:198) > >> > at org.apache.solr.core.SolrCore.execute(SolrCore.java:2576) > >> > at > >> > org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:803) > >> > at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:582) > >> > at > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:424) > >> > at > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351) > >> > at > >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602) > >> > at > >> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) > >> > at > >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) > >> > at > >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) > >> > at > >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) > >> > at > >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) > >> > at > >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) > >> > at > >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) > >> > at > >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > >> > at > >> > org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > >> > at org.eclipse.jetty.server.Server.handle(Server.java:505) > >> > at > >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370) > >> > at > >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) > >> > at > >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) > >> > at > >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) > >> > at > >> > org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) > >> > at > >> > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) > >> > at > >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781) > >> > at > >> > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917) > >> > at java.base/java.lang.Thread.run(Thread.java:834) > >> > Caused by: org.apache.lucene.store.AlreadyClosedException: this > >> > IndexWriter is closed > >> > at > >> > org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:681) > >> > at > >> > org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:695) > >> > at > >> > org.apache.lucene.index.IndexWriter.nrtIsCurrent(IndexWriter.java:4946) > >> > at > >> > org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:293) > >> > at > >> > org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:282) > >> > at > >> > org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:260) > >> > at > >> > org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2073) > >> > ... 51 more > >> > Caused by: java.nio.file.NoSuchFileException: > >> > /var/solr/data/dovecot/data/index/write.lock > >> > at > >> > java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) > >> > at > >> > java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) > >> > at > >> > java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) > >> > at > >> > java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55) > >> > at > >> > java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:149) > >> > at > >> > java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99) > >> > at java.base/java.nio.file.Files.readAttributes(Files.java:1763) > >> > at > >> > org.apache.lucene.store.NativeFSLockFactory$NativeFSLock.ensureValid(NativeFSLockFactory.java:189) > >> > at > >> > org.apache.lucene.store.LockValidatingDirectoryWrapper.createOutput(LockValidatingDirectoryWrapper.java:43) > >> > at > >> > org.apache.lucene.store.TrackingDirectoryWrapper.createOutput(TrackingDirectoryWrapper.java:43) > >> > at > >> > org.apache.lucene.codecs.compressing.CompressingStoredFieldsWriter.<init>(CompressingStoredFieldsWriter.java:112) > >> > at > >> > org.apache.lucene.codecs.compressing.CompressingStoredFieldsFormat.fieldsWriter(CompressingStoredFieldsFormat.java:128) > >> > at > >> > org.apache.lucene.codecs.lucene50.Lucene50StoredFieldsFormat.fieldsWriter(Lucene50StoredFieldsFormat.java:183) > >> > at > >> > org.apache.lucene.index.StoredFieldsConsumer.initStoredFieldsWriter(StoredFieldsConsumer.java:39) > >> > at > >> > org.apache.lucene.index.StoredFieldsConsumer.startDocument(StoredFieldsConsumer.java:46) > >> > at > >> > org.apache.lucene.index.DefaultIndexingChain.startStoredFields(DefaultIndexingChain.java:367) > >> > at > >> > org.apache.lucene.index.DefaultIndexingChain.processDocument(DefaultIndexingChain.java:403) > >> > at > >> > org.apache.lucene.index.DocumentsWriterPerThread.updateDocument(DocumentsWriterPerThread.java:250) > >> > at > >> > org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:495) > >> > at > >> > org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1594) > >> > at > >> > org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1586) > >> > at > >> > org.apache.solr.update.DirectUpdateHandler2.updateDocOrDocValues(DirectUpdateHandler2.java:971) > >> > at > >> > org.apache.solr.update.DirectUpdateHandler2.doNormalUpdate(DirectUpdateHandler2.java:344) > >> > at > >> > org.apache.solr.update.DirectUpdateHandler2.addDoc0(DirectUpdateHandler2.java:291) > >> > at > >> > org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:238) > >> > at > >> > org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:76) > >> > at > >> > org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalAdd(DistributedUpdateProcessor.java:259) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.doVersionAdd(DistributedUpdateProcessor.java:489) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.lambda$versionAdd$0(DistributedUpdateProcessor.java:339) > >> > at > >> > org.apache.solr.update.VersionBucket.runWithLock(VersionBucket.java:50) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:339) > >> > at > >> > org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:225) > >> > at > >> > org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103) > >> > at > >> > org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:261) > >> > ... 43 more > >> > > >> > I then deleted the "data" under the "/var/solr/data/dovecot/data", and > >> > it didn't get recreated. > >> > > >> > I ran this after my installation: > >> > > >> > sudo -u solr /opt/solr/bin/solr create -c dovecot > >> > > >> > And imported the 7.7.0 schema and solrconfig from dovecot. > >> > > >> > So far, no go. Any other tips? > >> > > >> > Best, > >> > > >> > Francis > >> > > >> > > >> > On 2020-08-27 19:02, Alexandre Rafalovitch wrote: > >> >> Have you tried blowing the index directory away (usually 'data' > >> >> directory next to 'conf'). Because: > >> >> cannot change field "box" from index > >> >> options=DOCS_AND_FREQS_AND_POSITIONS to inconsistent index > >> >> options=DOCS > >> >> This implies that your field box had different definitions, you > >> >> updated it but the index files still remember the old stuff. When you > >> >> try to reindex, it fails as it does not know you will delete > >> >> everything in the end. > >> >> So, delete (backup/move just in case) the whole index and try again. > >> >> There may be other errors, but that's the first one. > >> >> Regards, > >> >> Alex. > >> >> On Thu, 27 Aug 2020 at 12:58, Francis Augusto Medeiros-Logeay > >> >> <r...@med-lo.eu> wrote: > >> >>> Hi, > >> >>> I have - for a long time now - hoped to use an fts engine with dovecot. > >> >>> My dovecot version is 2.3.7.2 under Ubuntu 20.04. > >> >>> I installed solr 7.7.3 and then 8.6.0 to see if this was a > >> >>> version-related error. I copied the schema from 7.7.0 as many people > >> >>> said this was fine. > >> >>> I get the following error when trying to reindex a user's mailbox: > >> >>> doveadm(fran...@francisaugusto.com): Error: fts_solr: Indexing failed: > >> >>> 400 Bad Request > >> >>> doveadm(fran...@francisaugusto.com): Error: Mailbox INBOX: Transaction > >> >>> commit failed: FTS transaction commit failed: backend deinit > >> >>> doveadm(fran...@francisaugusto.com): Debug: auth-master: conn > >> >>> unix:/var/run/dovecot/auth-userdb: Disconnected: Connection closed > >> >>> (fd=10) > >> >>> On Solr I get this error: > >> >>> org.apache.solr.common.SolrException: Exception writing document id > >> >>> 210/9fd7941e8297d25d91600000c3fdd3da/fran...@francisaugusto.com to the > >> >>> index; possible analysis error: cannot change field "box" from index > >> >>> options=DOCS_AND_FREQS_AND_POSITIONS to inconsistent index options=DOCS > >> >>> at > >> >>> org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:246) > >> >>> Parallel to this, I got some log messages on Solr before attempting to > >> >>> reindex the user (sorry for the garbadged text: > >> >>> Time (Local) Level Core Logger Message > >> >>> 7/21/2020, 6:38:47 PM WARN false x:dovecot > >> >>> SolrResourceLoader Solr > >> >>> loaded a deprecated plugin/analysis class [solr.TrieLongField]. Please > >> >>> consult documentation how to replace it accordingly. > >> >>> 7/21/2020, 6:38:47 PM WARN false x:dovecot > >> >>> SolrResourceLoader Solr > >> >>> loaded a deprecated plugin/analysis class [solr.SynonymFilterFactory]. > >> >>> Please consult documentation how to replace it accordingly. > >> >>> 7/21/2020, 6:38:47 PM WARN false x:dovecot > >> >>> SolrResourceLoader Solr > >> >>> loaded a deprecated plugin/analysis class > >> >>> [solr.WordDelimiterFilterFactory]. Please consult documentation how to > >> >>> replace it accordingly. > >> >>> 7/22/2020, 6:43:46 PM ERROR > >> >>> false x:dovecot RequestHandlerBase > >> >>> java.lang.IllegalStateException: Type > >> >>> mismatch: uid was indexed as SORTED_NUMERIC > >> >>> 7/22/2020, 6:43:46 PM ERROR > >> >>> false x:dovecot HttpSolrCall > >> >>> null:java.lang.IllegalStateException: Type > >> >>> mismatch: uid was indexed as SORTED_NUMERIC > >> >>> 7/22/2020, 6:43:49 PM ERROR > >> >>> false x:dovecot RequestHandlerBase > >> >>> java.lang.IllegalStateException: Type > >> >>> mismatch: uid was indexed as SORTED_NUMERIC > >> >>> 7/22/2020, 6:43:49 PM ERROR > >> >>> false x:dovecot HttpSolrCall > >> >>> null:java.lang.IllegalStateException: Type > >> >>> mismatch: uid was indexed as SORTED_NUMERIC > >> >>> 7/22/2020, 6:43:56 PM ERROR > >> >>> false x:dovecot RequestHandlerBase > >> >>> java.lang.IllegalStateException: Type > >> >>> mismatch: uid was indexed as SORTED_NUMERIC > >> >>> 7/22/2020, 6:43:56 PM ERROR > >> >>> false x:dovecot HttpSolrCall null:java.lang.IllegalSta > >> >>> I am tried again. I get no errors when doing a `doveadm fts rescan`, > >> >>> but > >> >>> get errors when trying this: > >> >>> doveadm index -u myu...@mydomain.com INBOX > >> >>> doveadm(myu...@mydomain.com): Error: fts_solr: Indexing failed: 400 Bad > >> >>> Request > >> >>> doveadm(myu...@mydomain.com): Error: Mailbox INBOX: Transaction commit > >> >>> failed: FTS transaction commit failed: backend deinit > >> >>> I guess this is a matter of waiting the reindex to be over? > >> >>> I get so many "Type mismatch" errors in Solr, except for this one that > >> >>> looks different and showed up after trying the doveadm index command > >> >>> above: > >> >>> ERROR true > >> >>> x:dovecot > >> >>> RequestHandlerBase > >> >>> org.apache.solr.common.SolrException: Exception writing document id > >> >>> 210/9fd7941e8297d25d91600000c3fdd3da/myu...@mydomain.com to the index; > >> >>> possible analysis error: cannot change field "box" from index > >> >>> options=DOCS_AND_FREQS_AND_POSITIONS to inconsistent index options=DOCS > >> >>> org.apache.solr.common.SolrException: Exception writing document id > >> >>> 210/9fd7941e8297d25d91600000c3fdd3da/myu...@mydomain.com to the index; > >> >>> possible analysis error: cannot change field "box" from index > >> >>> options=DOCS_AND_FREQS_AND_POSITIONS to inconsistent index options=DOCS > >> >>> at > >> >>> org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:246) > >> >>> at > >> >>> org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:76) > >> >>> at > >> >>> org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55) > >> >>> at > >> >>> org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalAdd(DistributedUpdateProcessor.java:259) > >> >>> at > >> >>> org.apache.solr.update.processor.DistributedUpdateProcessor.doVersionAdd(DistributedUpdateProcessor.java:489) > >> >>> at > >> >>> org.apache.solr.update.processor.DistributedUpdateProcessor.lambda$versionAdd$0(DistributedUpdateProcessor.java:339) > >> >>> at > >> >>> org.apache.solr.update.VersionBucket.runWithLock(VersionBucket.java:50) > >> >>> at > >> >>> org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:339) > >> >>> at > >> >>> org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:225) > >> >>> at > >> >>> org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103) > >> >>> at > >> >>> org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:261) > >> >>> at > >> >>> org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:188) > >> >>> at > >> >>> org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:97) > >> >>> at > >> >>> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68) > >> >>> at > >> >>> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:198) > >> >>> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2576) > >> >>> at > >> >>> org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:803) > >> >>> at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:582) > >> >>> at > >> >>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:424) > >> >>> at > >> >>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351) > >> >>> at > >> >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602) > >> >>> at > >> >>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) > >> >>> at > >> >>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) > >> >>> at > >> >>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) > >> >>> at > >> >>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) > >> >>> at > >> >>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > >> >>> at > >> >>> org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335) > >> >>> at > >> >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > >> >>> at org.eclipse.jetty.server.Server.handle(Server.java:505) > >> >>> at > >> >>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370) > >> >>> at > >> >>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) > >> >>> at > >> >>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) > >> >>> at > >> >>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) > >> >>> at > >> >>> org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) > >> >>> at > >> >>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) > >> >>> at > >> >>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) > >> >>> at > >> >>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) > >> >>> at > >> >>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) > >> >>> at > >> >>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) > >> >>> at > >> >>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781) > >> >>> at > >> >>> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917) > >> >>> at java.base/java.lang.Thread.run(Thread.java:834) > >> >>> Caused by: java.lang.IllegalArgumentException: cannot change field > >> >>> "box" > >> >>> from index options=DOCS_AND_FREQS_AND_POSITIONS to inconsistent index > >> >>> options=DOCS > >> >>> at > >> >>> org.apache.lucene.index.FieldInfos$FieldNumbers.verifyConsistent(FieldInfos.java:375) > >> >>> at > >> >>> org.apache.lucene.index.FieldInfos$FieldNumbers.setIndexOptions(FieldInfos.java:441) > >> >>> at > >> >>> org.apache.lucene.index.DefaultIndexingChain.initIndexOptions(DefaultIndexingChain.java:701) > >> >>> at > >> >>> org.apache.lucene.index.DefaultIndexingChain.getOrAddField(DefaultIndexingChain.java:664) > >> >>> at > >> >>> org.apache.lucene.index.DefaultIndexingChain.processField(DefaultIndexingChain.java:440) > >> >>> at > >> >>> org.apache.lucene.index.DefaultIndexingChain.processDocument(DefaultIndexingChain.java:406) > >> >>> at > >> >>> org.apache.lucene.index.DocumentsWriterPerThread.updateDocument(DocumentsWriterPerThread.java:250) > >> >>> at > >> >>> org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:495) > >> >>> at > >> >>> org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1594) > >> >>> at > >> >>> org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1586) > >> >>> at > >> >>> org.apache.solr.update.DirectUpdateHandler2.updateDocOrDocValues(DirectUpdateHandler2.java:971) > >> >>> at > >> >>> org.apache.solr.update.DirectUpdateHandler2.doNormalUpdate(DirectUpdateHandler2.java:344) > >> >>> at > >> >>> org.apache.solr.update.DirectUpdateHandler2.addDoc0(DirectUpdateHandler2.java:291) > >> >>> at > >> >>> org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:238) > >> >>> ... 53 more > >> >>> Last Check: 8/2/2020, 1:51:12 PM > >> >>> Show dates in UTC > >> >>> Auto-Refresh > >> >>> Any clue on what I could do here? I have hoped to use Solr but fail to > >> >>> see instructions that just work. I've been told things must be > >> >>> reindexed. and I tried that - although I don't know if I did it right. > >> >>> Could anyone offer some hints/tips on what to do to make it work? > >> >>> Best, > >> >>> Francis > >> >>> PS - I can show the full log of one of the type mismatch error as > >> >>> well... > >> > > >> > -- > >> > Francis Augusto Medeiros-Logeay > >> > Oslo, Norway > >> > > -- > Francis Augusto Medeiros-Logeay > Oslo, Norway