Re: [Imap-protocol] Strange behavior with Gmail IMAP when using CONDSTORE extension
Bron Gondwana <[email protected]> Thu, 23 Jul 2015 10:07:32 +1000
| Newsgroups | gmane.mail.imap.general |
|---|---|
| Message-ID | <1437610052.3135783.330762257.59E54221@webmail.messagingengine.com> |
This is a multi-part message in MIME format. --===============7264596778018973202== Content-Transfer-Encoding: 7bit Content-Type: multipart/alternative; boundary="_----------=_143761005231357830"; charset="utf-8" This is a multi-part message in MIME format. --_----------=_143761005231357830 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="ISO-8859-1" On Thu, Jul 23, 2015, at 09:54, Michael Grinich wrote: > Our team has seen the following strange behavior when making requests > to the Gmail IMAP server. I wanted to share this with the list and > Brandon to see if folks have ideas for mitigating or fixing the issue, > or whether this is actually a bug in Gmail's IMAP implementation. > > Here's the log: > > T2 SELECT "[Gmail]/All Mail" > * FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded $Junk > $NotJunk $NotPhishing $Phishing NotJunk) > * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen > $Forwarded $Junk $NotJunk $NotPhishing $Phishing NotJunk \*)] Flags > permitted. > * OK [UIDVALIDITY 11] UIDs valid. > * 126069 EXISTS > * 0 RECENT > * OK [UIDNEXT 208199] Predicted next UID. > * OK [HIGHESTMODSEQ 14064776] T2 OK [READ-WRITE] [Gmail]/All Mail > selected. (Success) *T3 UID FETCH 207722 (FLAGS) (CHANGEDSINCE > 14055062)* ** OK [HIGHESTMODSEQ 14064776]* ** 125605 FETCH (UID > 207722 MODSEQ (14063567) FLAGS (\Answered \Seen))* T3 OK Success *T4 > UID FETCH 1:* (FLAGS) (CHANGEDSINCE 14055062)* > * 125938 FETCH (UID 208058 MODSEQ (14060020) FLAGS ()) > * 125939 FETCH (UID 208059 MODSEQ (14060011) FLAGS ()) > * 125940 FETCH (UID 208060 MODSEQ (14060028) FLAGS ()) > * 125941 FETCH (UID 208061 MODSEQ (14060000) FLAGS ()) > * 125942 FETCH (UID 208062 MODSEQ (14060036) FLAGS ()) > * 125943 FETCH (UID 208063 MODSEQ (14060000) FLAGS ()) > * 125944 FETCH (UID 208064 MODSEQ (14060000) FLAGS ()) > * 125945 FETCH (UID 208065 MODSEQ (14060003) FLAGS ()) > * 125946 FETCH (UID 208066 MODSEQ (14060037) FLAGS ()) > * 125947 FETCH (UID 208067 MODSEQ (14060043) FLAGS ()) > * 125948 FETCH (UID 208068 MODSEQ (14060000) FLAGS ()) > * 125949 FETCH (UID 208069 MODSEQ (14060045) FLAGS ()) > * 125950 FETCH (UID 208070 MODSEQ (14060000) FLAGS ()) > * 125951 FETCH (UID 208071 MODSEQ (14060025) FLAGS ()) > * 125952 FETCH (UID 208072 MODSEQ (14060011) FLAGS ()) > * 125953 FETCH (UID 208073 MODSEQ (14060045) FLAGS ()) > * 125954 FETCH (UID 208074 MODSEQ (14060044) FLAGS ()) > * 125955 FETCH (UID 208075 MODSEQ (14060003) FLAGS ()) > * 125956 FETCH (UID 208076 MODSEQ (14060040) FLAGS ()) > * 125957 FETCH (UID 208077 MODSEQ (14060011) FLAGS ()) > * 125958 FETCH (UID 208078 MODSEQ (14060044) FLAGS ()) > * 125959 FETCH (UID 208079 MODSEQ (14060025) FLAGS ()) > * 125960 FETCH (UID 208080 MODSEQ (14060044) FLAGS ()) > * 125961 FETCH (UID 208081 MODSEQ (14060036) FLAGS ()) > * 125962 FETCH (UID 208082 MODSEQ (14060037) FLAGS ()) > * 125963 FETCH (UID 208083 MODSEQ (14060003) FLAGS ()) > * 125964 FETCH (UID 208084 MODSEQ (14060037) FLAGS ()) T4 OK Success > > > Why would "UID FETCH 207722 (FLAGS) (CHANGEDSINCE 14055062)" return > message 207722, but "UID FETCH 1:* (FLAGS) (CHANGEDSINCE 14055062)" > wouldn't? Is there any way to catch all messages? > > I was able to reproduce this exact IMAP exchange multiple times, so > there's no way the email could have been expunged within the two > FETCHes. > > We've seen CONDSTORE-related issues happen on multiple Gmail accounts. > The only workaround we found is "SEARCH MODSEQ", which didn't have > this problem in tests. However, it was very slow on Gmail. What to do you get for either: T5 FETCH 1:* (UID FLAGS) (CHANGEDSINCE 14055062) or T6 UID FETCH 1:208198 (FLAGS) (CHANGEDSINCE 14055062) That might show if there's anything interesting happening with '*'. Your exchange definitely reads like incorrect CONDSTORE logic to my slightly tired eyes... Bron. -- =A0 Bron Gondwana =A0 [email protected] =20 =20 --_----------=_143761005231357830 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset="ISO-8859-1" <!DOCTYPE html> <html> <head> <title></title> </head> <body>On Thu, Jul 23, 2015, at 09:54, Michael Grinich wrote:<br><blockquote type="cite"><div dir="ltr"><div>Our team has seen the following strange behavior when making requests to the Gmail IMAP server. I wanted to share this with the list and Brandon to see if folks have ideas for mitigating or fixing the issue, or whether this is actually a bug in Gmail's IMAP implementation. <br></div> <div> </div> <div>Here's the log: <br></div> <div> </div> <div><div>T2 SELECT "[Gmail]/All Mail"<br></div> <div>* FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded $Junk $NotJunk $NotPhishing $Phishing NotJunk)<br></div> <div>* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded $Junk $NotJunk $NotPhishing $Phishing NotJunk \*)] Flags permitted.<br></div> <div>* OK [UIDVALIDITY 11] UIDs valid.<br></div> <div>* 126069 EXISTS<br></div> <div>* 0 RECENT<br></div> <div>* OK [UIDNEXT 208199] Predicted next UID.<br></div> <div>* OK [HIGHESTMODSEQ 14064776]<br></div> <div>T2 OK [READ-WRITE] [Gmail]/All Mail selected. (Success)<br></div> <div><b>T3 UID FETCH 207722 (FLAGS) (CHANGEDSINCE 14055062)</b><br></div> <div><b>* OK [HIGHESTMODSEQ 14064776]</b><br></div> <div><b>* 125605 FETCH (UID 207722 MODSEQ (14063567) FLAGS (\Answered \Seen))</b><br></div> <div>T3 OK Success<br></div> <div><b>T4 UID FETCH 1:* (FLAGS) (CHANGEDSINCE 14055062)</b><br></div> <div>* 125938 FETCH (UID 208058 MODSEQ (14060020) FLAGS ())<br></div> <div>* 125939 FETCH (UID 208059 MODSEQ (14060011) FLAGS ())<br></div> <div>* 125940 FETCH (UID 208060 MODSEQ (14060028) FLAGS ())<br></div> <div>* 125941 FETCH (UID 208061 MODSEQ (14060000) FLAGS ())<br></div> <div>* 125942 FETCH (UID 208062 MODSEQ (14060036) FLAGS ())<br></div> <div>* 125943 FETCH (UID 208063 MODSEQ (14060000) FLAGS ())<br></div> <div>* 125944 FETCH (UID 208064 MODSEQ (14060000) FLAGS ())<br></div> <div>* 125945 FETCH (UID 208065 MODSEQ (14060003) FLAGS ())<br></div> <div>* 125946 FETCH (UID 208066 MODSEQ (14060037) FLAGS ())<br></div> <div>* 125947 FETCH (UID 208067 MODSEQ (14060043) FLAGS ())<br></div> <div>* 125948 FETCH (UID 208068 MODSEQ (14060000) FLAGS ())<br></div> <div>* 125949 FETCH (UID 208069 MODSEQ (14060045) FLAGS ())<br></div> <div>* 125950 FETCH (UID 208070 MODSEQ (14060000) FLAGS ())<br></div> <div>* 125951 FETCH (UID 208071 MODSEQ (14060025) FLAGS ())<br></div> <div>* 125952 FETCH (UID 208072 MODSEQ (14060011) FLAGS ())<br></div> <div>* 125953 FETCH (UID 208073 MODSEQ (14060045) FLAGS ())<br></div> <div>* 125954 FETCH (UID 208074 MODSEQ (14060044) FLAGS ())<br></div> <div>* 125955 FETCH (UID 208075 MODSEQ (14060003) FLAGS ())<br></div> <div>* 125956 FETCH (UID 208076 MODSEQ (14060040) FLAGS ())<br></div> <div>* 125957 FETCH (UID 208077 MODSEQ (14060011) FLAGS ())<br></div> <div>* 125958 FETCH (UID 208078 MODSEQ (14060044) FLAGS ())<br></div> <div>* 125959 FETCH (UID 208079 MODSEQ (14060025) FLAGS ())<br></div> <div>* 125960 FETCH (UID 208080 MODSEQ (14060044) FLAGS ())<br></div> <div>* 125961 FETCH (UID 208081 MODSEQ (14060036) FLAGS ())<br></div> <div>* 125962 FETCH (UID 208082 MODSEQ (14060037) FLAGS ())<br></div> <div>* 125963 FETCH (UID 208083 MODSEQ (14060003) FLAGS ())<br></div> <div>* 125964 FETCH (UID 208084 MODSEQ (14060037) FLAGS ())<br></div> <div>T4 OK Success<br></div> <div> </div> <div> </div> <div>Why would "UID FETCH 207722 (FLAGS) (CHANGEDSINCE 14055062)" return message 207722, but "UID FETCH 1:* (FLAGS) (CHANGEDSINCE 14055062)" wouldn't? Is there any way to catch all messages?<br></div> <div> </div> <div>I was able to reproduce this exact IMAP exchange multiple times, so there's no way the email could have been expunged within the two FETCHes.<br></div> <div> </div> <div>We've seen CONDSTORE-related issues happen on multiple Gmail accounts. The only workaround we found is "SEARCH MODSEQ", which didn't have this problem in tests. However, it was very slow on Gmail.<br></div> </div> </div> </blockquote><div> </div> <div>What to do you get for either:<br></div> <div> </div> <div>T5 FETCH 1:* (UID FLAGS) (CHANGEDSINCE 14055062)<br></div> <div> </div> <div>or<br></div> <div> </div> <div>T6 UID FETCH 1:208198 (FLAGS) (CHANGEDSINCE 14055062)<br></div> <div> </div> <div>That might show if there's anything interesting happening with '*'. Your exchange definitely reads like incorrect CONDSTORE logic to my slightly tired eyes...<br></div> <div> </div> <div>Bron.<br></div> <div> </div> <div id="sig567075"><div class="signature">--<br></div> <div class="signature"> Bron Gondwana<br></div> <div class="signature"> [email protected]<br></div> <div class="signature"> </div> </div> <div> </div> </body> </html> --_----------=_143761005231357830-- --===============7264596778018973202== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Imap-protocol mailing list [email protected] http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol --===============7264596778018973202==--