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]