[prev in list] [next in list] [prev in thread] [next in thread] 

List:       james-user
Subject:    Re: IMAP UID uniqueness question
From:       Joshua Armstrong <jarmstrong () centonline ! com>
Date:       2012-08-21 12:36:01
Message-ID: 503380B1.2010004 () centonline ! com
[Download RAW message or body]

On 8/18/2012 5:27 AM, Eric Charles wrote:
> Hi,
>
> We tackle distributed UID generation via 
> https://issues.apache.org/jira/browse/MAILBOX-103
>
> We have a first snapshot implementation (undocumented) with UID 
> generated by a Zookeeper Ensemble in 
> https://svn.apache.org/repos/asf/james/mailbox/trunk/zoo-seq-provider
>
> I understand Joshua is using a single IBM Database, for info a 
> distributed storage such as HBase is also available for James (maybe 
> out-of-scope for you). As James is component-based (@see the 
> UidProvider interface in mailbox-store project), HBase could also be 
> responsible for the UID generation, such as Hazelcast could be...
>
> More simply, you could even rely on a centrally generated UID such as 
> we do with JPA, but the deal is to let the other servers of the UID 
> because we store in memory in a Map the messages. So if you want to 
> inform the other servers of this event, you need a distributed event 
> system.  And yes, there is the UIDVALIDITY which comes also in the 
> game...
>
> So, there is still much to do in order to have a full James 
> distributed, so if you are looking for a out-of-the-box solution, it's 
> too early. If you are interested to invest some time to help, we will 
> also help :) The first step would be a design document with all the 
> constraints. The solution will come from it self once the things are 
> sorted on paper.
>
> Thx, Eric
>
We've decided to go with the database replication angle and are now 
working on crocking the UID generation algorithm (we use the JPA 
implementation) to use the 3 highest bits as a server ID tag.  Yes, this 
breaks the RFC.  But we won't be using this server on the Internet and 
it won't be used for e-mails - only voicemails.

-- 
Joshua M. Armstrong
Software Engineer
Centurion, Inc.


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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic