Guys
Please do not CC: mails to the old synapse-dev@ mailing list.. The dev@
list now works fine and so you can all discontinue using the old lists..
:-)
thanks
asankha
Ruwan Linton wrote:
Rajith,
Yep I am in agreement. The reason I asked about clustering
is bcos of the recent thread on session mgt and the need
to have the session-mediator state replicated across the
cluster (I hope I didn't misunderstand the requirments
here). I was wondering if this sort of thing is trivial to
implement. Like can we replicate any mediator state if we
choose to in a trivial way?
Yes it is, I think the session-mediator has to take the
replication in to account (i.e. another state full mediator
for synapse :)). If you are using the ConfigurationContext of
axis2 (basically the whole context hierarchy) to store the
data (for example, the session data table mapped using a
session id) you just need to call
ConfigurationContext.flush(); to replicate any data which has
been changed after the last replication. Additionally if you
need to just replicate some of the properties of the cfgCtx
then you can call the the flush method with the property names
(see the clustering API for the exact signature of the method,
I don't remember that exactly).
Ruwan, once again thank you for the detailed answer. I really
appreciate it. The reason behind the question "can we replicate
any mediator state if we choose to in a trivial way?" was to
figure out if the current axis2 clustering support is sufficient.
However we have to be careful when replicating mediator state
especially when there are concurrent modifications on different
nodes. This can cause undesired affects and it is a limitation in
our current clustering implementation. So even for the session
map, if two nodes modify the map concurrently we may have issues.
This doc explains the limitations
http://ws.apache.org/axis2/1_3/clustering-guide.html.
So perhaps it's worthwhile to highlight these issues to synapse
users who want to tap into the clustering support.
Yes, we know this limitation is there. Even we have a JIRA for the
Throttle mediator [1]. This is because there is no distributed locking
mechanism in axis2-clustering implementation. But again we have not
came across any requirement to support that level of replication to
happen from users and most of them are fine with this error.
[1] - https://issues.apache.org/jira/browse/SYNAPSE-180
Thanks,
Ruwan
--
Ruwan Linton
http://www.wso2.org - "Oxygenating the Web Services Platform"