Hi,

A couple more updates; a new patch too, but I'll keep those on the JIRA from now on to keep message size down ;)

(NB: Looking at other JIRA there, there is very little discussion happening there, so I guess this list remains the place for that. Please correct me if I'm not adhering to conventions though)

I've explored a bit further the failures during bulk import that I mentioned below, and the root of this issue seems a little different to the others (and the System.gc() approach doesn't resolve it).

It happens when I copy a nonempty folder, whose name contains parentheses () from another IMAP server (using Thunderbird to perform the bulk action). The folder is created as expected (including new/cur/tmp and james-uidvalidity file) and gets listed in the subscriptions file, but then appending the messages into it fails like so:

<SNIP>
DEBUG 13:05:17,571 | james.imapserver | ID=26971735 Append failed for mailbox #private:wib...@mydomain.co.uk:Tests^^TEST2 (PARENS)
org.apache.james.mailbox.exception.MailboxNotFoundException
at org.apache.james.mailbox.maildir.MaildirStore.loadMailbox(MaildirStore.java:118) at org.apache.james.mailbox.maildir.mail.MaildirMailboxMapper.findMailboxByPath(MaildirMailboxMapper.java:114) at org.apache.james.mailbox.store.StoreMailboxManager.getMailbox(StoreMailboxManager.java:321) at org.apache.james.imap.processor.AppendProcessor.doProcess(AppendProcessor.java:71)
...
</SNIP>

Now the first line is interesting here: the folder that was created was called "TEST2 (PARENS)", in the top-level parent folder "Tests". Note however that the append error shows it as "Tests^^TEST2 (PARENS)".

Interpretation: Somewhere between creating the folder (which it does correctly) and then loading it, James mangles its name, turning the dot into the two circumflex characters ("^^"). It then fails on loadMailbox() because it's looking for this (nonexistent) name.

If the folder is empty, there's no error; presumably because James does not have anything more to do with the folder after creating it, so the bogus name isn't used for anything further.

Anyone have any theories about this one? I have a feeling it might not even be maildir-specific, but I'm hoping someone better-versed in string processing (and Java's / James's foibles therewith) might recognise immediately what's causing this.

Robin Bankhead

Quoting Robin Bankhead <apache.ja...@headbank.co.uk>:

Hi Eric,

As suggested, JIRA filed as MAILBOX-199.

FYI, the Draft-flag problem I mentioned turned out to be a red herring, the client simply doesn't respect that flag.

The new challenge is a failure when trying to upload a large corpus of mail (and dir hierarchy) from another server, but I'm still looking into this - it may be another illegal-char issue, or in name generation at high frequency (not enough uniqueness)? I'll post more when I know more.

Robin Bankhead

Quoting Eric Charles <e...@apache.org>:

Hi Robin, Thx for the follow-up.

Explicitly calling System.gc can bring global bad performance, so it should be called only in case of windows platform.

The best is to create a JIRA (if not already existing) and attach there your patch.



---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org

Reply via email to