diff --git a/source/java/org/alfresco/repo/audit/AuditableAspect.java b/source/java/org/alfresco/repo/audit/AuditableAspect.java index c9184b1a6a..c5a7adf422 100644 --- a/source/java/org/alfresco/repo/audit/AuditableAspect.java +++ b/source/java/org/alfresco/repo/audit/AuditableAspect.java @@ -258,12 +258,17 @@ public class AuditableAspect */ public Boolean doWork() throws Exception { - for (QName propertyQName : properties.keySet()) - { - Serializable property = properties.get(propertyQName); - nodeService.setProperty(nodeRef, propertyQName, property); - } - return Boolean.TRUE; + // Set all the properties in one nodeService call to avoid multiple calls to onUpdateProperties + Map allProps = nodeService.getProperties(nodeRef); + + for (QName propertyQName : properties.keySet()) + { + Serializable property = properties.get(propertyQName); + allProps.put(propertyQName, property); + } + nodeService.setProperties(nodeRef, allProps); + return Boolean.TRUE; + } }