You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Norman Maurer <nm...@byteaction.de> on 2006/05/02 07:21:56 UTC

Re: [jira] Commented: (JAMES-461) Maildir support

Maybe a bit to late.. but any news on it ? If not i will take a look
again on this.. Maybe i find a solution.. 

bye

Am Sonntag, den 26.03.2006, 18:59 +0200 schrieb Stefano Bagnara:
> Norman Maurer wrote:
> >> So store() call is an "insertOrUpdate" function, based on the unique key 
> >> of the object (mail.getName()) for that store.
> > 
> > So the override is a workaround or not ?
> 
> I don't understand the question.
> The correct behaviour is to write a new entry the first time and to 
> update the same entry at following calls to store() for a Mail with the 
> same name (key).
> 
> >> To do that you should probably store the message, keep in memory its MD5 
> >> and its userkey ("key1"). When I retrieve a message you should lookup 
> >> both MD5s and userKeys. When I store a message you should check wether 
> >> the userKey already exists and update the MD5 according to message changes.
> > 
> > So the message must be retrievable by md5 and by the name ? Im right?
> 
> The message must be retrievable by name (key). The problem is that the 
> key is not always the md5 because the *user* generates the key for new 
> messages. So the easiest way is to keep in memory association between 
> keys (names) and md5.
> 
> >> This is not easy: if you don't want to rehash the whole repository at 
> >> each operation you probably should create an md5->messagenumber cache 
> >> and hope the message numbers are not too volatile. Then you start trying 
> >> with the cached messagenumber, retrieve it, verify the md5 is the one 
> >> you expected, if so you can continue otherwise you have to rehash the 
> >> whole repository and clean caches.
> > 
> > Can you give me a tip howto create such a cache ?
> 
> Lack of time now, sorry.
> 
> >> Not sure if this feature worth the work right now (it won't be fast 
> >> anyway, and it won't support multiple identical messages in the same store)
> > 
> > IS there a need for identical messages in the store ? Cause i create the
> > md5 with the whole message (headers to), the messages should be not
> > identical anyway..
> 
> If you clone a Mail and simply change its name and call the store() 
> method on the same repository you just should have 2 identical mails in 
> the repository with only the name different. Please note that the mail 
> name is not contained in the mimemessage source (not an header).
> 
> I currently have not investigated on when/how this could be a problem.
> 
> Stefano
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
> 
> !EXCUBATOR:1,4426c938200621351941222!