diff --git a/source/java/org/alfresco/repo/domain/propval/ibatis/PropertyValueDAOImpl.java b/source/java/org/alfresco/repo/domain/propval/ibatis/PropertyValueDAOImpl.java index 2d312f4271..3e1b3b9258 100644 --- a/source/java/org/alfresco/repo/domain/propval/ibatis/PropertyValueDAOImpl.java +++ b/source/java/org/alfresco/repo/domain/propval/ibatis/PropertyValueDAOImpl.java @@ -407,6 +407,20 @@ public class PropertyValueDAOImpl extends AbstractPropertyValueDAOImpl @Override protected PropertyValueEntity createPropertyValue(Serializable value) + { + try + { + return createPropertyValueInternal(value); + } + catch (DuplicateKeyException e ) + { + //In very rare situation, it can fail. Just try one more time. + //See MNT-12770 for details + return createPropertyValueInternal(value); + } + } + + private PropertyValueEntity createPropertyValueInternal(Serializable value) { // Get the actual type ID Class clazz = (value == null ? Object.class : value.getClass());