synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ruwan Linton <>
Subject Re: Concurrent Access to Dynamic Resources
Date Thu, 10 Sep 2009 01:59:07 GMT

We need to introduce synchronization, true. But that has to be done very
carefully and I don't think synchronizing the getter method is the right
solution for this, as Supun explained that will be a performance bottleneck
when Synapse is under a considerable amount of load.

Will have a look and propose a more scalable solution, in the mean time you
may investigate into this more as well.


On Wed, Sep 9, 2009 at 7:52 PM, Supun Kamburugamuva <>wrote:

> Hi,
> I think this is the price that we have to pay for enabling
> dynamic behavior. If the ESB is under huge load and we synchronize these
> methods it won't scale anyway.
> Having two threads load the same resource is tolerable if one thread
> doesn't access the resource while it is initialized halfway way.
> One suggestion, I think if we can move the
> initialized = true; line 166
> statement in the to the bottom of the init method it
> will be more safer.
> Thanks,
> Supun..
> On Wed, Sep 9, 2009 at 5:48 AM, Hiranya Jayathilaka <>wrote:
>> Hi Devs,
>> The Axis2MessageContext class uses SynapseConfiguration#getEndpoint and
>> SynapseConfiguration#getSequence methods to gain access to dynamic endpoints
>> and sequences when they are not present in the message context's local
>> store. However these method calls are not synchronized and from the looks of
>> it I feel that if two message contexts try to access the same dynamic
>> resource at the same time there is a chance that SynapseConfiguration would
>> perform two remote registry lookups to fetch the same resource. This won't
>> really cause any erroneous behavior but if the ESB is under a huge load
>> where each message is trying to load a particular dynamic resource things
>> may get out of hands.
>> So does it make sense to bring in some synchronization into the picture?
>> Or have I missed something and the above theory is not applicable?
>> Thanks
>> --
>> Hiranya Jayathilaka
>> Software Engineer;
>> WSO2 Inc.;
>> E-mail:;  Mobile: +94 77 633 3491
>> Blog:
> --
> Software Engineer, WSO2 Inc

Ruwan Linton
Technical Lead & Product Manager; WSO2 ESB;
WSO2 Inc.;
email:; cell: +94 77 341 3097

View raw message