I also noticed that I get this - maybe a permission error after all?

org.apache.solr.common.SolrException: Server error writing document id 1/a73b6e1ab8e4475f2bae1100c3fdd3da/fran...@med-lo.eu to the index at org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:243) 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.ha

Best,

Francis

On 2020-08-27 20:58, Francis Augusto Medeiros-Logeay 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

Reply via email to