[Stratos-dev] Major issue of multiple users accessing the admin console on stratos
srinath at wso2.com
Tue Nov 9 03:01:14 PST 2010
IMO queuing model will not work, because you have to let one user do
multiple operation to finish his session and by the time others will
Instead, we can use a locked approach. That is if the second guy try
to access while one guy is logged in, we refuse to let them login as
the same user. It is too risky to have two admins changing the same
server at the same time anyway. They call this optimistic concurrency
and both App engine and Azure use this with all data.
Lock should timeout of course.
On Tue, Nov 9, 2010 at 10:26 AM, Ruwan Linton <ruwan at wso2.com> wrote:
> On 11/9/10 10:13 AM, Hiranya Jayathilaka wrote:Hi
> I don't think this affects all our admin services. But there are few which
> may cause issues when multiple users are interacting with them at once. Most
> admin services that deal with the Synapse configuration are candidates to
> this problem. So I guess as a first step, we should try to identify the
> admin services which can actually cause issues. It may be possible to fix
> some of them by doing some minor refactoring stuff. For others we should do
> something more serious. Queuing model described here is one way to go. IMO
> we shouldn't subject all admin service requests to such a model though. It's
> just way too much over kill.
> I totally agree, but carefully deciding this and testing requires time and
> that is why I said it is not optimal, but resolves the issue.
> On Tue, Nov 9, 2010 at 8:52 AM, Ruwan Linton <ruwan at wso2.com> wrote:
>> I would like to draw the $subject to your attention.
>> Basically non of our admin services are designed to work with multiuser
>> access. On stratos this might be a major hit since we promote it as a
>> multiuser platform.
>> Just to make it clear this is not an issue of multitenancy, but if 2 users
>> of a single tenant logs into the same stratos service simultaneously and
>> tries to do some activities on the management console they will most of the
>> time get dead pages or if the code is written properly an error page.
>> Synchronizing the all the admin service methods blindly will not solve
>> this issue, since the elements that we access from different places might
>> cause the issue, for example one user could re-load the synapse
>> configuration, while the other user tries to add a proxy, and if the
>> re-loading action got started first, the adding proxy action will get an
>> One sub optimal solution to this issue is to queue admin requests for a
>> given tenant configuration and let the admin requests execute sequentially,
>> because if we are to do the optimal solution implementation we need to find
>> all the clashing actions and synchronize them with a single lock, which is
>> out of the scope of this release I guess.
>> Thoughts please??
>> Ruwan Linton
>> Software Architect& Product Manager, WSO2 ESB; http://wso2.org/esb
>> WSO2 Inc.; http://wso2.com
>> Lean . Enterprise . Middleware
>> phone: +1 408 754 7388 ext 51789
>> email: ruwan at wso2.com; cell: +94 77 341 3097
>> blog: http://blog.ruwan.org
>> linkedin: http://www.linkedin.com/in/ruwanlinton
>> tweet: http://twitter.com/ruwanlinton
>> Stratos-dev mailing list
>> Stratos-dev at wso2.org
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.; http://wso2.org
> E-mail: hiranya at wso2.com; Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
> Ruwan Linton
> Software Architect & Product Manager, WSO2 ESB; http://wso2.org/esb
> WSO2 Inc.; http://wso2.com
> Lean . Enterprise . Middleware
> phone: +1 408 754 7388 ext 51789
> email: ruwan at wso2.com; cell: +94 77 341 3097
> blog: http://blog.ruwan.org
> linkedin: http://www.linkedin.com/in/ruwanlinton
> tweet: http://twitter.com/ruwanlinton
> Stratos-dev mailing list
> Stratos-dev at wso2.org
Srinath Perera, Ph.D.
Senior Software Architect, WSO2 Inc.
Visiting Lecturer, University of Moratuwa
Member, Apache Software Foundation
Member, Lanka Software Foundation
More information about the Stratos-dev