[Dovecot] panic in dovecot when using fts with solr
André Rodier
andre.rodier at gmail.com
Mon Mar 4 17:42:20 EET 2013
Ok,
I found the issue.
The solr schema xml file was wrong, and I did not check the error logs
correctly. So, the error was in solr:
04-Mar-2013 15:15:30 org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException: ERROR:unknown field 'uid'
at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:289)
at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:60)
at org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:139)
at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:69)
at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1317)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:843)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
04-Mar-2013 15:15:30 org.apache.solr.core.SolrCore execute
INFO: [] webapp=/solr path=/update params={} status=400 QTime=70
However, IMHO, I don't think that dovecot handle the errors correctly.
It should return an error message.
Kind regards,
André Rodier
On 4 March 2013 10:01, André Rodier <andre.rodier at gmail.com> wrote:
> This is my doveconf output. Please, note that since the panic, I have
> switched to fts with squat, but it is very limited for large
> mailboxes.
>
> Any idea how to fix this?
>
> # 2.1.7: /etc/dovecot/dovecot.conf
> # OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.0
> auth_default_realm = indiefield.co.uk
> auth_master_user_separator = :
> auth_mechanisms = plain login
> auth_username_chars =
> abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 .-_@
> auth_username_translation = "- _ "
> auth_verbose = yes
> disable_plaintext_auth = no
> dotlock_use_excl = no
> hostname = smtp.indiefield.org.uk
> lda_mailbox_autocreate = yes
> lda_mailbox_autosubscribe = yes
> lock_method = dotlock
> mail_access_groups = vmail
> mail_fsync = always
> mail_gid = vmail
> mail_location = maildir:~/Mails/Maildir/:INDEX=~/Mails/Indexes/
> mail_plugins = autocreate quota acl virtual listescape fts fts_squat
> mail_privileged_group = vmail
> mail_uid = vmail
> maildir_copy_with_hardlinks = no
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope
> encoded-character vacation subaddress comparator-i;ascii-numeric
> relational regex imap4flags copy include variables body enotify
> environment mailbox date ihave
> mmap_disable = yes
> namespace {
> hidden = no
> inbox = no
> list = yes
> location = maildir:/var/vmail/%d/Public/Mails/Maildir/:INDEX=~/Mails/PublicIndexes/
> prefix = Public/
> separator = /
> subscriptions = yes
> type = public
> }
> namespace {
> list = children
> location = maildir:%%h/Mails/Maildir/:INDEX=~/Mails/SharedIndexes/%%u
> prefix = Shared/%%d/%%n/
> separator = /
> subscriptions = no
> type = shared
> }
> namespace inbox {
> hidden = no
> inbox = yes
> list = yes
> location = maildir:~/Mails/Maildir/:INDEX=~/Mails/Indexes/
> mailbox Drafts {
> special_use = \Drafts
> }
> mailbox Junk {
> special_use = \Junk
> }
> mailbox Sent {
> special_use = \Sent
> }
> mailbox "Sent Messages" {
> special_use = \Sent
> }
> mailbox Trash {
> special_use = \Trash
> }
> prefix =
> separator = /
> subscriptions = yes
> type = private
> }
> passdb {
> args = /etc/dovecot/dovecot-ldap.conf.ext
> driver = ldap
> }
> plugin {
> acl = vfile:/etc/dovecot/global-acls:cache_secs=300
> acl_anyone = allow
> acl_shared_dict = file:/var/vmail/indiefield.co.uk/shared-mailboxes
> autocreate = Trash
> autocreate2 = Drafts
> autocreate3 = Sent
> autocreate4 = Junk
> autocreate5 = Archives
> autosubscribe = Trash
> autosubscribe2 = Drafts
> autosubscribe3 = Sent
> autosubscribe4 = Junk
> autosubscribe5 = Archives
> fts = squat
> fts_squat = partial=4 full=10
> listescape_char = %%
> quota = maildir:User quota
> quota_warning = storage=95%% quota-warning 95 %u
> sieve = ~/Mails/.dovecot.sieve
> sieve_after = %h/Mails/Sieve/After/
> sieve_before = /etc/dovecot/sieve-default/before/
> sieve_dir = ~/Mails/Sieve
> sieve_max_script_size = 4M
> }
> protocols = " imap lmtp sieve pop3"
> service auth-worker {
> user = vmail
> }
> service auth {
> unix_listener /var/spool/postfix/private/auth {
> group = vmail
> mode = 0666
> user = postfix
> }
> unix_listener auth-userdb {
> group = vmail
> mode = 0666
> user = postfix
> }
> user = vmail
> }
> service dict {
> unix_listener dict {
> group = vmail
> mode = 0600
> user = vmail
> }
> }
> service director {
> fifo_listener login/proxy-notify {
> group = postfix
> mode = 0666
> user = postfix
> }
> unix_listener director-userdb {
> group = postfix
> mode = 0600
> user = postfix
> }
> unix_listener login/director {
> group = postfix
> mode = 0666
> user = postfix
> }
> }
> service lmtp {
> group = vmail
> inet_listener lmtp {
> port = 24
> }
> user = vmail
> }
> service managesieve-login {
> inet_listener sieve {
> port = 4190
> }
> }
> service quota-warning {
> executable = script /etc/dovecot/scripts/quota-warning.sh
> unix_listener quota-warning {
> user = vmail
> }
> user = dovecot
> }
> ssl_cert = </etc/apache2/certs/generic.indiefield.org.uk.crt
> ssl_key = </etc/apache2/certs/generic.indiefield.org.uk.key
> userdb {
> args = /etc/dovecot/dovecot-ldap.conf.ext
> driver = ldap
> }
> protocol lmtp {
> mail_plugins = quota sieve virtual
> }
> protocol lda {
> auth_socket_path = /var/run/dovecot/auth-userdb
> }
> protocol imap {
> mail_plugins = autocreate quota acl virtual listescape fts fts_squat
> imap_quota imap_acl autocreate
> }
--
André Rodier
More information about the dovecot
mailing list