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"

Reply via email to