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


On 08/17/2012 11:11 PM, Joshua Armstrong wrote:
On 8/17/2012 4:09 PM, tim wrote:
interesting.

I think replacing that "getId" with either the embedded message-id or
hashing something should work then.  No?

As long as Apache james generating a new uidvalidity number for each
instance of james.  I'm assuming it is a random number.

The client should see the new uidvalidity and then think "hmmm,
different server. should check uids"
Worth a try I suppose.



Lol, I'm just babbling at this point ;-)
Let me know if it works, and I'll steal it from you! :-P

-tim

<snip>

That's exactly what I was thinking when I read the RFC.  I'm going to
recheck the code and see what generates the UIDVALIDITY value.



--
eric | http://about.echarles.net | @echarles


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to