mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Minor follow up on 32329: ALF-11734: Concurrency conditions not handled correctly for ACL persistence
- Pessimistically throw away the node cache entry referencing the ACL git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32381 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1055,11 +1055,20 @@ public abstract class AbstractNodeDAOImpl implements NodeDAO, BatchingDAO
|
||||
Long childAclId = null;
|
||||
if (parentAclId != null)
|
||||
{
|
||||
AccessControlListProperties inheritedAcl = aclDAO.getAccessControlListProperties(
|
||||
aclDAO.getInheritedAccessControlList(parentAclId));
|
||||
if (inheritedAcl != null)
|
||||
try
|
||||
{
|
||||
childAclId = inheritedAcl.getId();
|
||||
Long inheritedACL = aclDAO.getInheritedAccessControlList(parentAclId);
|
||||
AccessControlListProperties inheritedAcl = aclDAO.getAccessControlListProperties(inheritedACL);
|
||||
if (inheritedAcl != null)
|
||||
{
|
||||
childAclId = inheritedAcl.getId();
|
||||
}
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
// The get* calls above actually do writes. So pessimistically get rid of the
|
||||
// parent node from the cache in case it was wrong somehow.
|
||||
invalidateNodeCaches(parentNodeId);
|
||||
}
|
||||
}
|
||||
// Build the cm:auditable properties
|
||||
|
Reference in New Issue
Block a user