[Rt-devel] Why are Groups cachedmembers of themselves?
    Joby Walker 
    joby at u.washington.edu
       
    Fri Oct 20 18:16:52 EDT 2006
    
    
  
The comments from Group_Overlay::Create say:
# Now we make the group a member of itself as a cached group member
# this needs to exist so that group ACL checks don't fall over.
# you're checking CachedGroupMembers to see if the principal in question
# is a member of the principal the rights have been granted too
# in the ordinary case, this would fail badly because it would recurse 
and add all the members of this group as
# cached members. thankfully, we're creating the group now...so it has 
no members.
Is this truly necessary for all groups?  This is leading to a huge 
inflation in the number of cachedgroupmembers records.  Just with a 
simple example of every ticket averaging 1 requestor, 1 owner, and 1 cc, 
this means that there will be 10 cachedgroupmembers records per ticket 
(one for all four roles, and 2 for each real member) -- where only 3 
should be necessary.  We're rapidly approaching 100,000 tickets so that 
is 700,000 unnecessary records.
So why is this necessary?  Is it for ACL checks on User Defined groups?
-- 
Joby Walker
C&C SSG, University of Washington
    
    
More information about the Rt-devel
mailing list