woj-tek opened a new pull request, #2386:
URL: https://github.com/apache/james-project/pull/2386
* extending testcase to include `UID FETCH`
* fix the issue by ignoring range retrieval when the inbox is empty
* improvements to debug logs (compacting DefaultImapDecoder logs to single
entry; add missing `toString()` and simplify toString in
`ImmutableStatusResponse`):
Log afterwards looks nicer/cleaner IMHO (it's not perfect as it's mostly
parsed data but gives more information about request-response chatter):
```
17:14:05.268 [DEBUG] o.a.j.m.p.ProtocolSession - C: b1 CREATE box
17:14:05.268 [TRACE] o.a.j.i.d.m.DefaultImapDecoder - Processing b1 CREATE
CreateRequest{mailboxName=box}
17:14:05.268 [DEBUG] o.a.j.m.s.StoreMailboxManager - createMailbox
#private:imapuser:box
17:14:05.269 [TRACE] o.a.j.i.m.r.UnpooledStatusResponseFactory - Created
IMAP response: MAILBOXID OK b1 completed. CREATE
17:14:05.269 [DEBUG] o.a.j.m.p.ProtocolSession - S: b1 OK [MAILBOXID (4)]
CREATE completed.
17:14:05.269 [DEBUG] o.a.j.m.p.ProtocolSession - C: b2 SELECT box
17:14:05.270 [TRACE] o.a.j.i.d.m.DefaultImapDecoder - Processing b2 SELECT
SelectRequest{mailboxName=box, condstore=false,
lastKnownUidValidity=UidValidity{UNKNOWN}, knownModSeq=null, uidSet=null,
knownUidSet=null, knownSequenceSet=null}
17:14:05.270 [DEBUG] o.a.j.m.s.StoreMailboxManager - Loaded mailbox
#private:imapuser:box
17:14:05.272 [TRACE] o.a.j.i.m.r.UnpooledStatusResponseFactory - Created
IMAP response: MAILBOXID OK Ok
17:14:05.272 [TRACE] o.a.j.i.m.r.UnpooledStatusResponseFactory - Created
IMAP response: UIDVALIDITY OK UIDs valid
17:14:05.272 [TRACE] o.a.j.i.m.r.UnpooledStatusResponseFactory - Created
IMAP response: PERMANENTFLAGS OK Limited
17:14:05.272 [TRACE] o.a.j.i.m.r.UnpooledStatusResponseFactory - Created
IMAP response: HIGHESTMODSEQ OK Highest
17:14:05.272 [TRACE] o.a.j.i.m.r.UnpooledStatusResponseFactory - Created
IMAP response: UIDNEXT OK Predicted next UID
17:14:05.272 [TRACE] o.a.j.i.m.r.UnpooledStatusResponseFactory - Created
IMAP response: READ-WRITE OK b2 completed. SELECT
17:14:05.272 [DEBUG] o.a.j.m.p.ProtocolSession - S: * OK [MAILBOXID (4)] Ok
17:14:05.272 [DEBUG] o.a.j.m.p.ProtocolSession - S: * FLAGS (\Answered
\Deleted \Draft \Flagged \Seen)
17:14:05.272 [DEBUG] o.a.j.m.p.ProtocolSession - S: * 0 EXISTS
17:14:05.272 [DEBUG] o.a.j.m.p.ProtocolSession - S: * 0 RECENT
17:14:05.272 [DEBUG] o.a.j.m.p.ProtocolSession - S: * OK [UIDVALIDITY
277573197] UIDs valid
17:14:05.273 [DEBUG] o.a.j.m.p.ProtocolSession - S: * OK [PERMANENTFLAGS
(\Answered \Deleted \Draft \Flagged \Seen \*)] Limited
17:14:05.273 [DEBUG] o.a.j.m.p.ProtocolSession - S: * OK [HIGHESTMODSEQ 0]
Highest
17:14:05.273 [DEBUG] o.a.j.m.p.ProtocolSession - S: * OK [UIDNEXT 1]
Predicted next UID
17:14:05.273 [DEBUG] o.a.j.m.p.ProtocolSession - S: b2 OK [READ-WRITE]
SELECT completed.
17:14:05.273 [DEBUG] o.a.j.m.p.ProtocolSession - C: b3 FETCH 1:* (UID)
17:14:05.273 [TRACE] o.a.j.i.d.m.DefaultImapDecoder - Processing b3 FETCH
FetchRequest{useUids=false, idSet=[IdRange ( 1->9223372036854775807 )],
fetch=FetchData{items=[UID], setSeen=false, bodyElements=[], changedSince=-1,
vanished=false}}
17:14:05.273 [DEBUG] o.a.j.m.s.StoreMailboxManager - Loaded mailbox 4
#private:imapuser:box
17:14:05.273 [TRACE] o.a.j.i.m.r.UnpooledStatusResponseFactory - Created
IMAP response: OK b3 completed. FETCH
17:14:05.273 [DEBUG] o.a.j.m.p.ProtocolSession - S: b3 OK FETCH completed.
17:14:05.273 [DEBUG] o.a.j.m.p.ProtocolSession - C: b4 UID FETCH 1:* (UID)
17:14:05.274 [TRACE] o.a.j.i.d.m.DefaultImapDecoder - Processing b4 UID
FetchRequest{useUids=true, idSet=[IdRange ( 1->9223372036854775807 )],
fetch=FetchData{items=[UID], setSeen=false, bodyElements=[], changedSince=-1,
vanished=false}}
17:14:05.274 [DEBUG] o.a.j.m.s.StoreMailboxManager - Loaded mailbox 4
#private:imapuser:box
17:14:05.274 [TRACE] o.a.j.i.m.r.UnpooledStatusResponseFactory - Created
IMAP response: OK b4 completed. FETCH
17:14:05.274 [DEBUG] o.a.j.m.p.ProtocolSession - S: b4 OK FETCH completed.
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]