diff --git a/services/univention-s4-connector/modules/univention/s4connector/__init__.py b/services/univention-s4-connector/modules/univention/s4connector/__init__.py index 91a2346011..b6e5891bca 100644 --- a/services/univention-s4-connector/modules/univention/s4connector/__init__.py +++ b/services/univention-s4-connector/modules/univention/s4connector/__init__.py @@ -1534,7 +1534,8 @@ class ucs: result = False if object['modtype'] == 'add': ud.debug(ud.LDAP, ud.INFO, "sync_to_ucs: lock S4 guid: %s" % guid) - self.lockingdb.lock_s4(guid) + if not self.lockingdb.is_s4_locked(guid): + self.lockingdb.lock_s4(guid) if hasattr(self.property[property_type], "ucs_sync_function"): result = self.property[property_type].ucs_sync_function(self, property_type, object) diff --git a/services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py b/services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py index b93b07f723..6b0f08fb63 100644 --- a/services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py +++ b/services/univention-s4-connector/modules/univention/s4connector/s4/__init__.py @@ -2512,7 +2512,8 @@ class s4(univention.s4connector.ucs): ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: add object: %s" % object['dn']) ud.debug(ud.LDAP, ud.INFO, "sync_from_ucs: lock UCS entryUUID: %s" % entryUUID) - self.lockingdb.lock_ucs(entryUUID) + if not self.lockingdb.is_ucs_locked(entryUUID): + self.lockingdb.lock_ucs(entryUUID) self.addToCreationList(object['dn'])