Strategy for supporting large message folders
kent at caspia.com
Thu Jan 17 18:59:42 UTC 2013
On 1/17/2013 7:29 AM, David Bienvenu wrote:
> On 1/16/2013 2:16 PM, Kent James wrote:
>> I was looking today at trying to fix the relatively simple bug 793865
>> "nsIMsgParseMailMsgState.envelopePos must be 64bits to support large
>> mbox folders", figuring that was one needed step on a relatively
>> small path to support >4GB mbox files in local folders. But as I
>> looked into it, we have never resolved the issue of a 32 bit
>> nsMsgKey, which also equals the message offset in local folders. It
>> is a far from trivial issue to make progress on that.
> There's a msg hdr property called something like "message-offset"
> that's used instead of the msgKey as the offset into the local folder,
> by the berkeley mailbox store. The msgKey is used for backwards
> compatibility if there is no message-offset. Are you saying the
> message-offset is never used, or sometimes not used?
> - David
What I am saying is that the 32 bit nsMsgKey which equals the offset in
the case of local mbox folders, is still used in way too many places as
a way to access the particular message in a folder.
If I do an mxr search for nsMsgKey in mail folders, I get "Too many
hits, displaying the first 1000" I don't understand how the application
is supposed to work with message-offset as an alternative to nsMsgKey in
all of those places.
I would love for you to tell me that I am incorrect. But just to pick a
few examples out of over 1000:
nsIMsgDBView has "selectMsgByKey(in nsMsgKey key)" which is used in
nsMsgFilterService has the array m_searchHits which stores search hits
by their nsMsgKey value
I don't understand how those are supposed to work with a big mbox where
the offset has exceeded 4GB and the message-offset needs to be used instead.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the tb-planning