Univention Bugzilla – Bug 41343
ucsschool-import: only execute modify() if user has actually changed
Last modified: 2019-02-05 21:16:28 CET
save LDAP operations
Modify() is an expensive operation. As the user object has already been open()ed, comparing its attributes is cheap and possibly saving a modify() operation worth it.
IMHO this should be done in ucsschool.lib.models.base.UCSSchoolHelperAbstractClass in a way that subclasses can extend it. AFAIK UDM does this already. I have not really debugged it, just noticed that the modifyTimestamp changed on a user that was imported a 2nd time without any change to its attributes. I will look further into it later.
Is this critical for the UCS@school 4.1R2 release? Otherwise we should change the behavior if it gets a problem later on.
I haven't really looked into it, but if it were like this, than IMHO it could be critical: if there is nothing to change, LDAP should not be bothered to do a modify() and hooks should not be executed. A daily export with 99% unchanged users, but 100% running hooks should have a high impact.
Not a blocker for Bug #41239 anymore. Will be addressed after 4.1r2 release.
UDM's handling should already be such intelligent. This might also be enhanced/fixed by the patch at Bug #42513 because after this only 1 modify() call is done.
This issue has been filled against UCS@school 4.1 (R2). The maintenance with bug and security fixes for UCS@school 4.1 (R2) has ended on 5th of April 2018. Customers still on UCS 4.1 are encouraged to update to UCS 4.3 (or later). Please contact your partner or Univention for any questions. If this issue still occurs in newer UCS versions, please use "Clone this bug" or simply reopen the issue. In this case please provide detailed information on how this issue is affecting you.