Hi,

On Sat, Jun 11, 2011 at 10:55 PM, Afkham Azeez <[email protected]> wrote:

> UM folks, please note. This needs to be implemented for Stratos 1.5.
>
>
We didn't cache user-roles to allow changes done by external means, for
example an update done using PhpMyLDAPAdmin. Primarily it was done because
of read-only user-stores where it is updated by other external means. So we
can implement it as follows.

1) We always cache-user roles for X seconds. And we update the document
saying changes done using external tools  will be effected only after X
seconds. If the change is done using our UI we clean the cache immediately.
The value X will be configurable.
OR
2) We make caching configurable - Yes or No

I am +1 for option-1. I will update the JDBCUserStore manager accordingly.

tx,
dimuthu



>
> On Sat, Jun 11, 2011 at 8:08 PM, Senaka Fernando <[email protected]> wrote:
>
>>
>>
>> On Sat, Jun 11, 2011 at 8:03 PM, Afkham Azeez <[email protected]> wrote:
>>
>>> Seems like we need caching for UM as well to be effective. Please
>>> implement this for Stratos, Carbon 3.2.1.
>>
>>
>> +1. AFAIU, permissions-for-role is cached, but role-of-user is not.
>>
>> Thanks,
>> Senaka.
>>
>>
>>>
>>> On Sat, Jun 11, 2011 at 7:46 PM, Senaka Fernando <[email protected]>wrote:
>>>
>>>>
>>>>
>>>> On Sat, Jun 11, 2011 at 7:39 PM, Senaka Fernando <[email protected]>wrote:
>>>>
>>>>>
>>>>>
>>>>> On Sat, Jun 11, 2011 at 6:17 PM, Afkham Azeez <[email protected]> wrote:
>>>>>
>>>>>> So caching gives a significant performance improvement. Anyway, the
>>>>>> only difference between RC9 & RC10 is the following code segment;
>>>>>>
>>>>>>   if (!AuthorizationUtils.authorize(path, ActionConstants.GET)) {
>>>>>> +                String msg = "User " + CurrentSession.getUser() + "
>>>>>> is not authorized to " +
>>>>>> +                        "read the resource " + path + ".";
>>>>>> +                log.warn(msg);
>>>>>> +                throw new AuthorizationFailedException(msg);
>>>>>> +            }
>>>>>>
>>>>>> Senaka, can you profile and see what is the overhead introduced by
>>>>>> the AuthorizationUtils.authorize method (that method should have been
>>>>>> named isAuthorized!)
>>>>>>
>>>>>
>>>>> +1, we need to go through these method names sometime later, when we
>>>>> are doing a major carbon release. Attached to this reply is a call-trace.
>>>>> The UM code, seems to be making a DB-call, and two JNDI calls to ApacheDS,
>>>>> all of which are reasonably expensive.
>>>>>
>>>>
>>>> Please disregard the overhead for logging the WARN message (in my
>>>> previous attachment), since I actually tried a scenario that failed to
>>>> authorize, and not one that passes as seen in Charitha's test. Attached
>>>> herewith is the output for a scenario that actually passes authorization.
>>>>
>>>> Thanks,
>>>> Senaka.
>>>>
>>>>
>>>>> Thanks,
>>>>> Senaka.
>>>>>
>>>>>>
>>>>>>
>>>>>> On Sat, Jun 11, 2011 at 2:52 PM, Charitha Kankanamge <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Figures with caching disabled.
>>>>>>>
>>>>>>> Requests per second:        1,661.51 [#/sec] (mean)
>>>>>>> Requests per second:        1,699.38 [#/sec] (mean)
>>>>>>> Requests per second:        1,664.97 [#/sec] (mean)
>>>>>>> Requests per second:        1,664.65 [#/sec] (mean)
>>>>>>> Requests per second:        1,662.48 [#/sec] (mean)
>>>>>>>
>>>>>>> /Charitha
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Jun 11, 2011 at 2:32 PM, Afkham Azeez <[email protected]>wrote:
>>>>>>>
>>>>>>>> pls compare this with no-caching
>>>>>>>>
>>>>>>>> On Sat, Jun 11, 2011 at 2:06 PM, Charitha Kankanamge <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Did a quick performance comparison of RC10 and RC9 versions of
>>>>>>>>> Carbon-3.2.0.
>>>>>>>>>
>>>>>>>>> Test:
>>>>>>>>> =====
>>>>>>>>> Service hosted in AS which reads a resource in embedded registry
>>>>>>>>> (service impl class is as follows)
>>>>>>>>>
>>>>>>>>>  Registry registry =
>>>>>>>>> CarbonContext.getCurrentContext().getRegistry(RegistryType.SYSTEM_CONFIGURATION);
>>>>>>>>>
>>>>>>>>>         Resource r1 = null;
>>>>>>>>>         try {
>>>>>>>>>             r1 = registry.get("d1/d2/d3/r1");
>>>>>>>>>         } catch (RegistryException e) {
>>>>>>>>>             e.printStackTrace();  //To change body of catch
>>>>>>>>> statement use File | Settings | File Templates.
>>>>>>>>>         }
>>>>>>>>>         return r1.getDescription();
>>>>>>>>>
>>>>>>>>> java-bench client:-
>>>>>>>>>
>>>>>>>>> while true;do java -jar benchmark.jar -p registry_get_request.xml
>>>>>>>>> -n 1000 -c 200 -k -H "SOAPAction: urn:getResource" -T 
>>>>>>>>> "application/soap+xml;
>>>>>>>>> charset=UTF-8"
>>>>>>>>> http://192.168.122.1:9763/services/RegistryGetService/;done
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> RC9
>>>>>>>>> =====
>>>>>>>>> Requests per second:        3,291.87 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,448.57 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,417.59 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,334.18 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,291.88 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,433.59 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,477.33 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,368.26 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,323.68 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,364.71 [#/sec] (mean)
>>>>>>>>>
>>>>>>>>> RC10
>>>>>>>>> =====
>>>>>>>>> Requests per second:        2,931.87 [#/sec] (mean)
>>>>>>>>> Requests per second:        2,992.98 [#/sec] (mean)
>>>>>>>>> Requests per second:        2,964.73 [#/sec] (mean)
>>>>>>>>> Requests per second:        2,977.55 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,047.40 [#/sec] (mean)
>>>>>>>>> Requests per second:        2,909.69 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,121.50 [#/sec] (mean)
>>>>>>>>> Requests per second:        2,992.58 [#/sec] (mean)
>>>>>>>>> Requests per second:        2,845.01 [#/sec] (mean)
>>>>>>>>> Requests per second:        3,052.30 [#/sec] (mean)
>>>>>>>>> Requests per second:        2,817.33 [#/sec] (mean)
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>> Charitha
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Carbon-dev mailing list
>>>>>>>>> [email protected]
>>>>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Afkham Azeez*
>>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>>>>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>>>>>> * <http://www.apache.org/>**
>>>>>>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919
>>>>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>*
>>>>>>>> twitter: 
>>>>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
>>>>>>>> *
>>>>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez*
>>>>>>>> *
>>>>>>>> *
>>>>>>>> *Lean . Enterprise . Middleware*
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Carbon-dev mailing list
>>>>>>>> [email protected]
>>>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Carbon-dev mailing list
>>>>>>> [email protected]
>>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Afkham Azeez*
>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>>>> * <http://www.apache.org/>**
>>>>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919
>>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>*
>>>>>> twitter: 
>>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
>>>>>> *
>>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez*
>>>>>> *
>>>>>> *
>>>>>> *Lean . Enterprise . Middleware*
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Carbon-dev mailing list
>>>>>> [email protected]
>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Senaka Fernando*
>>>>> Product Manager - WSO2 Governance Registry;
>>>>> Associate Technical Lead; WSO2 Inc.; http://wso2.com*
>>>>> Member; Apache Software Foundation; http://apache.org
>>>>>
>>>>> E-mail: senaka AT wso2.com
>>>>> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818
>>>>> Linked-In: http://linkedin.com/in/senakafernando
>>>>>
>>>>> *Lean . Enterprise . Middleware
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Senaka Fernando*
>>>> Product Manager - WSO2 Governance Registry;
>>>> Associate Technical Lead; WSO2 Inc.; http://wso2.com*
>>>> Member; Apache Software Foundation; http://apache.org
>>>>
>>>> E-mail: senaka AT wso2.com
>>>> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818
>>>> Linked-In: http://linkedin.com/in/senakafernando
>>>>
>>>> *Lean . Enterprise . Middleware
>>>>
>>>>
>>>> _______________________________________________
>>>> Carbon-dev mailing list
>>>> [email protected]
>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>
>>>>
>>>
>>>
>>> --
>>> *Afkham Azeez*
>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>> Member; Apache Software Foundation; http://www.apache.org/
>>> * <http://www.apache.org/>**
>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919
>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>*
>>> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
>>> *
>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez*
>>> *
>>> *
>>> *Lean . Enterprise . Middleware*
>>>
>>>
>>> _______________________________________________
>>> Carbon-dev mailing list
>>> [email protected]
>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>
>>>
>>
>>
>> --
>> *Senaka Fernando*
>> Product Manager - WSO2 Governance Registry;
>> Associate Technical Lead; WSO2 Inc.; http://wso2.com*
>> Member; Apache Software Foundation; http://apache.org
>>
>> E-mail: senaka AT wso2.com
>> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818
>> Linked-In: http://linkedin.com/in/senakafernando
>>
>> *Lean . Enterprise . Middleware
>>
>>
>> _______________________________________________
>> Carbon-dev mailing list
>> [email protected]
>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>
>>
>
>
> --
> *Afkham Azeez*
> Director of Architecture; WSO2, Inc.; http://wso2.com
> Member; Apache Software Foundation; http://www.apache.org/
> * <http://www.apache.org/>**
> email: **[email protected]* <[email protected]>* cell: +94 77 3320919
> blog: **http://blog.afkham.org* <http://blog.afkham.org>*
> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
> *
> linked-in: **http://lk.linkedin.com/in/afkhamazeez*
> *
> *
> *Lean . Enterprise . Middleware*
>
>
> _______________________________________________
> Carbon-dev mailing list
> [email protected]
> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to