Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. Support
  3. Email search not working properly

Email search not working properly

Scheduled Pinned Locked Moved Solved Support
mailsolr
25 Posts 5 Posters 1.1k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    joseph
    Staff
    wrote on last edited by
    #9

    The tika error seems to be because tika was down . I think a UI button to rebuild index will help a lot.

    avatar1024A 1 Reply Last reply
    4
    • J joseph

      The tika error seems to be because tika was down . I think a UI button to rebuild index will help a lot.

      avatar1024A Online
      avatar1024A Online
      avatar1024
      wrote on last edited by avatar1024
      #10

      @joseph said in Email search not working properly:

      The tika error seems to be because tika was down .

      What's tika?

      Btw I did all mailboxes manually, I had to retry a couple but they all ended up indexing without errors in the end.

      @joseph said in Email search not working properly:

      I think a UI button to rebuild index will help a lot.

      Yes to that! Though whatever the solution chosen it's gotta be robust against the process failing / encountering errors. So either a button per mailbox, or if global, then it needs to make sure it carries on even if if there are errors on one mailbox.

      J 1 Reply Last reply
      2
      • avatar1024A avatar1024

        @joseph said in Email search not working properly:

        The tika error seems to be because tika was down .

        What's tika?

        Btw I did all mailboxes manually, I had to retry a couple but they all ended up indexing without errors in the end.

        @joseph said in Email search not working properly:

        I think a UI button to rebuild index will help a lot.

        Yes to that! Though whatever the solution chosen it's gotta be robust against the process failing / encountering errors. So either a button per mailbox, or if global, then it needs to make sure it carries on even if if there are errors on one mailbox.

        J Offline
        J Offline
        joseph
        Staff
        wrote on last edited by
        #11

        @avatar1024 said in Email search not working properly:

        What's tika?

        tika is this - https://tika.apache.org/ . it converts the pdf/docs attachments in emails to text to make them searchable

        1 Reply Last reply
        4
        • avatar1024A avatar1024 referenced this topic on
        • H Offline
          H Offline
          hakunamatata
          wrote last edited by
          #12

          I am having issues with email search as well. I tried using the rebuild-index.sh script in the docs but am running into the following error with a particular mailbox:

          local-admin@cloudron:/$ sudo docker exec -it mail /app/code/dovecot-config/rebuild-index.sh
          ==> Indexing mailboxes for user: mail1@domain.com
          ==> Successfully indexed mailboxes for user: mail1@domain.com
          ==> Indexing mailboxes for user: mail2@domain.com
          ==> Successfully indexed mailboxes for user: mail2@domain.com
          ==> Indexing mailboxes for user: mail3@domain.com
          ==> Successfully indexed mailboxes for user: mail3@domain.com
          ==> Indexing mailboxes for user: mail4@domain.com
          doveadm(mail4@domain.com): Error: fts_solr: Indexing failed: 500 Server Error
          doveadm(mail4@domain.com): Error: Mailbox INBOX: Transaction commit failed: FTS transaction commit failed: backend deinit
          
          

          How do I troubleshoot what is causing mail4@domain.com to fail the reindexing? Tried bumping up the RAM allocation for the mail container from 4GB to 8GB to no avail.

          1 Reply Last reply
          0
          • jamesJ Offline
            jamesJ Offline
            james
            Staff
            wrote last edited by
            #13

            Hello @hakunamatata

            Do you have Full text search enabled?

            H 1 Reply Last reply
            0
            • jamesJ james

              Hello @hakunamatata

              Do you have Full text search enabled?

              H Offline
              H Offline
              hakunamatata
              wrote last edited by
              #14

              @James Yes it is.

              1 Reply Last reply
              0
              • jamesJ Offline
                jamesJ Offline
                james
                Staff
                wrote last edited by
                #15

                Hello @hakunamatata

                Please run the following command to get the solr.log:

                docker exec mail cat /run/solr/solr.log
                

                Do you see any error in there?

                One last resort could be to fully clean the index and build it again.
                See:
                https://forum.cloudron.io/post/98372

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  hakunamatata
                  wrote last edited by hakunamatata
                  #16

                  Hi James, thanks for the prompt response. There seems to be some Java timeout error, see below. Should I go ahead with the instructions in https://forum.cloudron.io/post/98372 ?

                  2026-02-09 10:56:08.132 ERROR (qtp858232531-25-localhost-141) [c: s: r: x:dovecot t:localhost-141] o.a.s.h.RequestHandlerBase Server exception => [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxIOException: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at com.ctc.wstx.exc.WstxLazyException.throwLazily(WstxLazyException.java:40)
                  com.ctc.wstx.exc.WstxLazyException: [com.ctc.wstx.exc.WstxLazyException] java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at com.ctc.wstx.exc.WstxLazyException.throwLazily(WstxLazyException.java:40) ~[?:?]
                  	at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:737) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3761) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:894) ~[?:?]
                  	at org.apache.solr.handler.loader.XMLLoader.readDoc(XMLLoader.java:363) ~[?:?]
                  	at org.apache.solr.handler.loader.XMLLoader.readDoc(XMLLoader.java:319) ~[?:?]
                  	at org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:188) ~[?:?]
                  	at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:120) ~[?:?]
                  	at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:102) ~[?:?]
                  	at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:98) ~[?:?]
                  	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:231) ~[?:?]
                  	at org.apache.solr.core.SolrCore.execute(SolrCore.java:2878) ~[?:?]
                  	at org.apache.solr.servlet.HttpSolrCall.executeCoreRequest(HttpSolrCall.java:905) ~[?:?]
                  	at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:578) ~[?:?]
                  	at org.apache.solr.servlet.SolrDispatchFilter.dispatch(SolrDispatchFilter.java:241) ~[?:?]
                  	at org.apache.solr.servlet.SolrDispatchFilter.lambda$doFilterRetry$0(SolrDispatchFilter.java:198) ~[?:?]
                  	at org.apache.solr.servlet.ServletUtils.traceHttpRequestExecution2(ServletUtils.java:227) ~[?:?]
                  	at org.apache.solr.servlet.ServletUtils.rateLimitRequest(ServletUtils.java:197) ~[?:?]
                  	at org.apache.solr.servlet.SolrDispatchFilter.doFilterRetry(SolrDispatchFilter.java:192) ~[?:?]
                  	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:181) ~[?:?]
                  	at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:97) ~[jetty-servlet-api-4.0.6.jar:?]
                  	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:598) ~[jetty-security-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:228) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301) ~[jetty-rewrite-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:822) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.Server.handle(Server.java:563) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
                  Caused by: com.ctc.wstx.exc.WstxIOException: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at com.ctc.wstx.sr.StreamScanner.constructFromIOE(StreamScanner.java:653) ~[?:?]
                  	at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1017) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4727) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3805) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3759) ~[?:?]
                  	... 59 more
                  Caused by: java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:307) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:272) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.apache.solr.servlet.ServletInputStreamWrapper.read(ServletInputStreamWrapper.java:82) ~[?:?]
                  	at org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.java:346) ~[?:?]
                  	at com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155) ~[?:?]
                  	at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:369) ~[?:?]
                  	at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:116) ~[?:?]
                  	at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:88) ~[?:?]
                  	at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57) ~[?:?]
                  	at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1011) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4727) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3805) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3759) ~[?:?]
                  	... 59 more
                  Caused by: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:170) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.IdleTimeout.idleCheck(IdleTimeout.java:112) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
                  	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
                  	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
                  	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
                  	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
                  	... 1 more
                  2026-02-09 10:56:08.139 ERROR (qtp858232531-25-localhost-141) [c: s: r: x:dovecot t:localhost-141] o.a.s.s.HttpSolrCall 500 Exception => [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxIOException: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at com.ctc.wstx.exc.WstxLazyException.throwLazily(WstxLazyException.java:40)
                  com.ctc.wstx.exc.WstxLazyException: [com.ctc.wstx.exc.WstxLazyException] java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at com.ctc.wstx.exc.WstxLazyException.throwLazily(WstxLazyException.java:40) ~[?:?]
                  	at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:737) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3761) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:894) ~[?:?]
                  	at org.apache.solr.handler.loader.XMLLoader.readDoc(XMLLoader.java:363) ~[?:?]
                  	at org.apache.solr.handler.loader.XMLLoader.readDoc(XMLLoader.java:319) ~[?:?]
                  	at org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:188) ~[?:?]
                  	at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:120) ~[?:?]
                  	at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:102) ~[?:?]
                  	at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:98) ~[?:?]
                  	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:231) ~[?:?]
                  	at org.apache.solr.core.SolrCore.execute(SolrCore.java:2878) ~[?:?]
                  	at org.apache.solr.servlet.HttpSolrCall.executeCoreRequest(HttpSolrCall.java:905) ~[?:?]
                  	at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:578) ~[?:?]
                  	at org.apache.solr.servlet.SolrDispatchFilter.dispatch(SolrDispatchFilter.java:241) ~[?:?]
                  	at org.apache.solr.servlet.SolrDispatchFilter.lambda$doFilterRetry$0(SolrDispatchFilter.java:198) ~[?:?]
                  	at org.apache.solr.servlet.ServletUtils.traceHttpRequestExecution2(ServletUtils.java:227) ~[?:?]
                  	at org.apache.solr.servlet.ServletUtils.rateLimitRequest(ServletUtils.java:197) ~[?:?]
                  	at org.apache.solr.servlet.SolrDispatchFilter.doFilterRetry(SolrDispatchFilter.java:192) ~[?:?]
                  	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:181) ~[?:?]
                  	at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:97) ~[jetty-servlet-api-4.0.6.jar:?]
                  	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:598) ~[jetty-security-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:228) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301) ~[jetty-rewrite-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:822) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.Server.handle(Server.java:563) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
                  Caused by: com.ctc.wstx.exc.WstxIOException: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at com.ctc.wstx.sr.StreamScanner.constructFromIOE(StreamScanner.java:653) ~[?:?]
                  	at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1017) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4727) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3805) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3759) ~[?:?]
                  	... 59 more
                  Caused by: java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:307) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:272) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.apache.solr.servlet.ServletInputStreamWrapper.read(ServletInputStreamWrapper.java:82) ~[?:?]
                  	at org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.java:346) ~[?:?]
                  	at com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155) ~[?:?]
                  	at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:369) ~[?:?]
                  	at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:116) ~[?:?]
                  	at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:88) ~[?:?]
                  	at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57) ~[?:?]
                  	at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1011) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4727) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3805) ~[?:?]
                  	at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3759) ~[?:?]
                  	... 59 more
                  Caused by: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:170) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.IdleTimeout.idleCheck(IdleTimeout.java:112) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
                  	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
                  	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
                  	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
                  	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
                  	... 1 more
                  2026-02-09 10:56:08.141 INFO  (qtp858232531-25) [c: s: r: x: t:localhost-141] o.a.s.s.ServletUtils Could not consume full client request => java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:307)
                  java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:307) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:272) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:262) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.apache.solr.servlet.ServletInputStreamWrapper.read(ServletInputStreamWrapper.java:72) ~[?:?]
                  	at org.apache.solr.servlet.ServletUtils.consumeInputFully(ServletUtils.java:280) ~[?:?]
                  	at org.apache.solr.servlet.SolrDispatchFilter.doFilterRetry(SolrDispatchFilter.java:204) ~[?:?]
                  	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:181) ~[?:?]
                  	at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:97) ~[jetty-servlet-api-4.0.6.jar:?]
                  	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:598) ~[jetty-security-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484) ~[jetty-servlet-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:228) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301) ~[jetty-rewrite-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:822) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.Server.handle(Server.java:563) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287) ~[jetty-server-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149) ~[jetty-util-10.0.26.jar:10.0.26]
                  	at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
                  Caused by: java.util.concurrent.TimeoutException: Idle timeout expired: 120001/120000 ms
                  	at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:170) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at org.eclipse.jetty.io.IdleTimeout.idleCheck(IdleTimeout.java:112) ~[jetty-io-10.0.26.jar:10.0.26]
                  	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
                  	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
                  	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
                  	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
                  	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
                  	... 1 more
                  
                  1 Reply Last reply
                  0
                  • jamesJ Offline
                    jamesJ Offline
                    james
                    Staff
                    wrote last edited by
                    #17

                    Hello @hakunamatata

                    Yes, but even better, we have an official documentation for that:
                    https://docs.cloudron.io/email/#solr-index-corruption
                    Please follow that one.

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      hakunamatata
                      wrote last edited by
                      #18

                      Hi @James, that is what I originally ran when I noticed that the email search was not working and the error messages I have shared are as a result of running the rebuild-index.sh script. Please advise.

                      1 Reply Last reply
                      0
                      • H Offline
                        H Offline
                        hakunamatata
                        wrote last edited by
                        #19

                        I think the issue here is trying to figure out why mail4@domain.com is failing during execution of the rebuild-index.sh script. mail1,2,3 indexed successfully and the search is working through Roundcube.

                        I don't know if it is possible to modify the script to give more details about why the indexing for a particular mailbox failed and in case of such an event, to continue the indexing of the next mailbox in the list. The per mailbox reindexing UI option suggested earlier by @avatar1024 would be perfect for this.

                        1 Reply Last reply
                        0
                        • jamesJ Offline
                          jamesJ Offline
                          james
                          Staff
                          wrote last edited by
                          #20

                          Hello @hakunamatata

                          Is mail4 in any case special?
                          Some examples: very large, special setup like folder sharring, special named folder with unique characters?

                          The timeout already is 120000 ms / 2 Minutes, so I am unsure if increasing the timeout would solve anything.

                          1 Reply Last reply
                          0
                          • avatar1024A Online
                            avatar1024A Online
                            avatar1024
                            wrote last edited by
                            #21

                            As the OP I must say that I had to finally give up in enabling full text search as it kept breaking searches. It works for a while but then breaks again and people get no results for very simple searches. Rerunning the script manually to reindex every time is not really a solution.

                            1 Reply Last reply
                            0
                            • H Offline
                              H Offline
                              hakunamatata
                              wrote last edited by
                              #22

                              @James nothing special about the mailbox other than it is the largest one at 1.12 GB. The total size of all mailboxes on the server is 2.72 GB and with 8GB RAM assigned to mail container, I don't think lack of memory is what is causing it to fail. This particular mailbox is the only one with an alias associated with it. I removed the alias, re-ran the rebuild-index.sh script but ended up with the same error. So that's not it either.

                              doveadm(mail4@domain.com): Error: fts_solr: Indexing failed: 500 Server Error
                              doveadm(mail4@domain.com): Error: Mailbox INBOX: Transaction commit failed: FTS transaction commit failed: backend deinit
                              

                              I think I will follow OP's suit and disable the full text search until it is more stable on Cloudron. If you would like to have access to my server for some more troubleshooting, just let me know .

                              jamesJ 1 Reply Last reply
                              0
                              • H hakunamatata

                                @James nothing special about the mailbox other than it is the largest one at 1.12 GB. The total size of all mailboxes on the server is 2.72 GB and with 8GB RAM assigned to mail container, I don't think lack of memory is what is causing it to fail. This particular mailbox is the only one with an alias associated with it. I removed the alias, re-ran the rebuild-index.sh script but ended up with the same error. So that's not it either.

                                doveadm(mail4@domain.com): Error: fts_solr: Indexing failed: 500 Server Error
                                doveadm(mail4@domain.com): Error: Mailbox INBOX: Transaction commit failed: FTS transaction commit failed: backend deinit
                                

                                I think I will follow OP's suit and disable the full text search until it is more stable on Cloudron. If you would like to have access to my server for some more troubleshooting, just let me know .

                                jamesJ Offline
                                jamesJ Offline
                                james
                                Staff
                                wrote last edited by
                                #23

                                Hello @hakunamatata

                                Yes, please write a mail to support@cloudron.io and reference this issue.

                                1 Reply Last reply
                                0
                                • H Offline
                                  H Offline
                                  hakunamatata
                                  wrote last edited by
                                  #24

                                  @James , I think I found the issue. After googling the time out error message, I came across some threads on other forums which seemed to indicate that it could be related to large email messages that are not being indexed within the 120000 ms / 2 Minutes timeout interval. So I went to mail4's INBOX , deleted the largest email (17.7MB) and then re-ran the script. This time it failed during indexing mail4's TRASH folder. Once I deleted the email from the TRASH folder, voila, indexing was successful.

                                  So perhaps the timeout needs to be increased or be a user defined value.

                                  In my case, I am running my Cloudron instance as a VM on a Synology DS1621+ which features an AMD Ryzen V1500B processor (4 cores, 8 threads, 2.2 Ghz base clock). It isn't a very fast processor so that could be a contributing factor.

                                  jamesJ 1 Reply Last reply
                                  2
                                  • H hakunamatata

                                    @James , I think I found the issue. After googling the time out error message, I came across some threads on other forums which seemed to indicate that it could be related to large email messages that are not being indexed within the 120000 ms / 2 Minutes timeout interval. So I went to mail4's INBOX , deleted the largest email (17.7MB) and then re-ran the script. This time it failed during indexing mail4's TRASH folder. Once I deleted the email from the TRASH folder, voila, indexing was successful.

                                    So perhaps the timeout needs to be increased or be a user defined value.

                                    In my case, I am running my Cloudron instance as a VM on a Synology DS1621+ which features an AMD Ryzen V1500B processor (4 cores, 8 threads, 2.2 Ghz base clock). It isn't a very fast processor so that could be a contributing factor.

                                    jamesJ Offline
                                    jamesJ Offline
                                    james
                                    Staff
                                    wrote last edited by
                                    #25

                                    Hello @hakunamatata
                                    Great find.
                                    We should still look into that.
                                    Thanks to the details I now have an approach to reproduce this issue.

                                    1 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Bookmarks
                                    • Search