[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: wanderlust is sooo slooowww...



At Mon, 27 Oct 2014 14:03:47 -0600,
Ken Gunderson wrote:
> 
> 
> Elmo debug.  Geronimo, here ya' go...
> 
> Erik's e6h stuff:

Thank you, Ken, this was a very clean and well-edited IMAP debug log.

The core of this problem seems to be that we are sending a command
that is too long to the cyrus IMAP server. This is documented here:

  http://comments.gmane.org/gmane.mail.imap.cyrus/30061

If you have control of the server, the easiest thing might be to
increase this compile time setting. A workaround might be to add a
test in elmo-imap4-search-mergeable-p to ensure that long searches are
not merged into even longer searches. Here is a new version of this
function that you might try and report back on:

(defun elmo-imap4-search-mergeable-p (a b)
  "Return t if A and B are two mergeable IMAP searches.

A is the result of a call to elmo-imap4-search-generate.
B is the result of a call to elmo-imap4-search-generate."
  (let ((cara (car a))
	(carb (car b))
        (toobig nil)
        (check-length (lambda (s)
                        (if (and (stringp s)
                                 (> (length s) 4000))
                            (setq toobig t)))))
    (mapc check-length a)
    (mapc check-length b)
    (and (not toobig)
         (not (numberp cara))
	 (not (numberp carb))
	 (or (null cara)
	     (null carb)
	     (equal cara carb)))))

I’m not too happy with this solution, but I’m not sure what other
options there are in this case. The best solution (I think) would be
to contact your server administrators and ask them to increase this
buffer size.

best, Erik

-- 
Sent from my free software system <http://fsf.org/>.