[ 
http://jira.amdatu.org/jira/browse/AMDATU-422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11472#comment-11472
 ] 

Ivo Ladage - van Doorn commented on AMDATU-422:
-----------------------------------------------

Just dropping the cache reintroduces issue 
http://jira.amdatu.org/jira/browse/AMDATUCASSANDRA-51, the reason this cache 
was created. So if you drop it, reopen that issue and provide another fix. 
The 'problem' is actually in the Pax implementation of UserAdmin. To perform an 
authorization check for a single user, it retrieves all roles 
(UserAdmin.getRoles(null)), loops over these roles and checks if it is implied 
by the user. This returns not only the groups, but also users. So if you have 
1000 users, each authorization check loops at least over all 1000 users, even 
if there is only one role in it. The Pax implementation could be improved, but 
the fundamental issue is that the UserAdmin spec forces you to loop over all 
groups when you want to resolve if any of these groups are implied. And that is 
not a Pax issue.
This performance issue could be resolved in the cassandra implementation (by 
adding indices), but that would be a storage specific implementation, not 
reusable by other storage implementations. This useradmincache resolves the 
performance issue for each available storage implementation.

So I believe the cache should be there, and should just be fixed to handle the 
cluster case.

> Revisit UserAdminCache
> ----------------------
>
>                 Key: AMDATU-422
>                 URL: http://jira.amdatu.org/jira/browse/AMDATU-422
>             Project: Amdatu
>          Issue Type: Task
>            Reporter: Bram de Kruijff
>
> This is a mental note issue. This cache aspect on top of useradmin was 
> introduced under AMDATUCASSANDRA-51 to solve performance degradation with the 
> cassandra backstore. However as documented under AMDATU-414 it can't deal 
> with a clustered backstore (like cassandra)  and therfore it was removed from 
> the (default) release. So we need to decide what to do..
> 1) Drop the whole cache (+1 I think)
> 2) Fix it with events or something

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to