Re: Fwd: A distributed James server and SelectedMailboxImpl statefulness

2015-11-23 Thread Benoit Tellier
Hi, Actually, Hazelcast gives up consistency upon network partition. This mean any implementation will experience random behavior when using MESSAGE SEQUENCE number during a partition (and this is also true for deletions). In my opinion, it does not really add guaranties compoared to Cassandra,

Re: Fwd: A distributed James server and SelectedMailboxImpl statefulness

2015-11-10 Thread Eric Charles
Would a distributed im-memory backend such as hazelcast be an option to start? http://docs.hazelcast.org/docs/3.5/manual/html/licenses.html On 2015-10-26 14:51, Benoit Tellier wrote: Le 26/10/2015 14:08, Matthieu Baechler a écrit : On 26/10/2015 13:53, Benoit Tellier wrote: [...] I

Re: Fwd: A distributed James server and SelectedMailboxImpl statefulness

2015-10-26 Thread Benoit Tellier
Hi Matthieu, Thanks for your reply. I think this problem might be a quite taught one. First of all, I guess you are right on why clients prefer using UID * commands. I noticed it with thunderbird. You are right about the consistency model of message queues (hence having this discussion).

Re: Fwd: A distributed James server and SelectedMailboxImpl statefulness

2015-10-26 Thread Matthieu Baechler
On 26/10/2015 10:54, Benoit Tellier wrote: [...] Seriously, I think dropping MESSAGE SEQUENCE NUMBER and returning an error on distributed implementation is our simplest walk-around on this topic... Doing overwise demands to add capabilities to the MessageManager to handle MESSAGE SEQUENCE

Re: Fwd: A distributed James server and SelectedMailboxImpl statefulness

2015-10-26 Thread Matthieu Baechler
Hi Benoit, See my comments below. On 26/10/2015 01:11, Tellier Benoit wrote: [...] Well, I have troubles to see how to make this work in a distributed system. Message systems do not offer perfect guaranties and we might get a lot of troubles in case of network partitions. Double event

Re: Fwd: A distributed James server and SelectedMailboxImpl statefulness

2015-10-26 Thread Benoit Tellier
Le 26/10/2015 11:08, Matthieu Baechler a écrit : On 26/10/2015 10:54, Benoit Tellier wrote: [...] Seriously, I think dropping MESSAGE SEQUENCE NUMBER and returning an error on distributed implementation is our simplest walk-around on this topic... Doing overwise demands to add

Re: Fwd: A distributed James server and SelectedMailboxImpl statefulness

2015-10-26 Thread Benoit Tellier
Le 26/10/2015 14:08, Matthieu Baechler a écrit : On 26/10/2015 13:53, Benoit Tellier wrote: [...] I think we could create a Session row that map MESSAGE SEQUENCE NUMBER to the real messages. Then, for a given session, we never remap things, we only add messages to this row. In case of

Re: Fwd: A distributed James server and SelectedMailboxImpl statefulness

2015-10-26 Thread Matthieu Baechler
On 26/10/2015 13:53, Benoit Tellier wrote: [...] I think we could create a Session row that map MESSAGE SEQUENCE NUMBER to the real messages. Then, for a given session, we never remap things, we only add messages to this row. In case of EXPUNGE, we create a new row that won't be used until a

Fwd: A distributed James server and SelectedMailboxImpl statefulness

2015-10-25 Thread Tellier Benoit
Disclaimer : the following message is long, and might take time to read, but I think this is a topic we have to exchange on in order to have a working James in a distributed environment... = Hi every one, I am working on a