Inbox appears in the list of arguments, because fts_backend_xapian_lookup() is parsing the search args wrong. Not sure about the other issue.
> On 21 Apr 2019, at 19.31, Joan Moreau <j...@grosjo.net> wrote: > > For this first point, the problem is that dovecot core sends TWICE the > request and "Inbox" appears in the list of arguments ! (inbox shall serve to > select teh right mailbox, never sent to the backend) > > And even if this would be solved, the dovecot core loops *after* the backend > hs returneds the results > > > > # doveadm search -u j...@grosjo.net mailbox inbox text milan > doveadm(j...@grosjo.net): Info: Get last UID of INBOX = 315526 > doveadm(j...@grosjo.net): Info: Get last UID of INBOX = 315526 > doveadm(j...@grosjo.net): Info: Query: FLAG=AND > doveadm(j...@grosjo.net): Info: Query(1): add term(wilcard) : inbox > doveadm(j...@grosjo.net): Info: Query(2): add term(wilcard) : milan > doveadm(j...@grosjo.net): Info: Testing if wildcard > doveadm(j...@grosjo.net): Info: Query: set GLOBAL (no specified header) > doveadm(j...@grosjo.net): Info: Query : ( bcc:inbox OR body:inbox OR cc:inbox > OR from:inbox OR message-id:inbox OR subject:inbox OR to:inbox ) AND ( > bcc:milan OR body:milan OR cc:milan OR from:milan OR message-id:milan OR > subject:milan OR to:milan ) > doveadm(j...@grosjo.net): Info: Query: 2 results in 1 ms // THIS IS WHEN > BACKEND HAS FOUND RESULTS AND STOPPED > d82b4b0f550d38593644000095331209 847 > d82b4b0f550d38593644000095331209 1569 > d82b4b0f550d38593644000095331209 2260 > d82b4b0f550d38593644000095331209 2575 > d82b4b0f550d38593644000095331209 2811 > d82b4b0f550d38593644000095331209 2885 > d82b4b0f550d38593644000095331209 3038 > d82b4b0f550d38593644000095331209 3121 -> LOOPING FOREVER > > > > > > > On 2019-04-21 09:57, Timo Sirainen via dovecot wrote: > >> On 3 Apr 2019, at 20.30, Joan Moreau via dovecot <dovecot@dovecot.org >> <mailto:dovecot@dovecot.org>> wrote: >>> >>> doveadm search -u j...@grosjo.net <mailto:j...@grosjo.net> mailbox inbox >>> text milan >>> output >>> >>> doveadm(j...@grosjo.net <mailto:j...@grosjo.net>): Info: Query : ( >>> bcc:inbox OR body:inbox OR cc:inbox OR from:inbox OR message-id:inbox OR >>> subject:inbox OR to:inbox OR uid:inbox ) AND ( bcc:milan OR body:milan OR >>> cc:milan OR from:milan OR message-id:milan OR subject:milan OR to:milan OR >>> uid:milan ) >>> >>> 1 - The query is wrong >> >> That's because fts_backend_xapian_lookup() isn't anywhere close to being >> correct. Try to copy the logic based on solr_add_definite_query_args(). >> >>