Bug 50519

Summary: Increasing the debug level for s4connector make the connector-s4.log nearly unreadable
Product: UCS Reporter: Christina Scheinig <scheinig>
Component: S4 ConnectorAssignee: Samba maintainers <samba-maintainers>
Status: NEW --- QA Contact: Samba maintainers <samba-maintainers>
Severity: normal    
Priority: P5 CC: best, requate
Version: UCS 4.4   
Target Milestone: ---   
Hardware: Other   
OS: Linux   
See Also: https://forge.univention.org/bugzilla/show_bug.cgi?id=49459
What kind of report is it?: Bug Report What type of bug is this?: 4: Minor Usability: Impairs usability in secondary scenarios
Who will be affected by this bug?: 2: Will only affect a few installed domains How will those affected feel about the bug?: 1: Nuisance – not a big deal but noticeable
User Pain: 0.046 Enterprise Customer affected?:
School Customer affected?: Yes ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: 2019031921001054, 2019101821000598 Bug group (optional): Troubleshooting
Max CVSS v3 score:

Description Christina Scheinig univentionstaff 2019-11-19 17:19:29 CET
ucr set connector/debug/level=3
systemctl restart univention-s4-connector.service

One reject lists now the LockingDB
19.11.2019 16:41:46.261 LDAP        (INFO   ): LockingDB: Return SQL result: '[(1292451,), (1292467,), (1292483,), (1292499,), (1292515,), (1292531,), (1292547,).....


If there are some entrys in the tables, the output is one line. So the logfile is now not searchable, scrollable, readable anymore. Debugging is not possible. And these lines are useless.

Maybe this is remnant of Bug 49459?

I had this issue now in 2 customer environments.
Comment 1 Arvid Requate univentionstaff 2019-11-19 21:15:10 CET
> Maybe this is remnant of Bug 49459?

Yes.
Comment 2 Florian Best univentionstaff 2021-03-02 22:16:03 CET
The log format is still not easily readable - even with default debug level.

I suggest to rework this completely and also use ud.ALL (4) instead of ud.INFO (3) more for unrelevant details.
ud.PROCESS (2) should also log more relevant things and drop the unrelevant things.

Logging should be done in a more structured way, proposal:

> sync to ucs:   [          user] [    modify] 'uid=test,l=school,l=dev'
>  ucs_operation=modify ad_operation=modify
>  ucs_type=users/user ad_type=user
>  mapped dn: 'uid=test,l=school,l=dev' is 'CN=test,DC=school,DC=dev'|not found
>  ignore_object? No|Yes:(Subtree|Filter|...)
>  changed attributes: firstname, lastname, displayName, password
>  diff: firstname: old=[b'foo'], new=[b'bar']
>  diff: displayName: old=[b'foo bar'] new=[b'bar foo']
>  diff: lastname: old=[b'bar'], new=[b'foo']
>  diff: password: old=**** new=***
> object modified: new dn='CN=test,DC=school,DC=dev' (changed|unchanged)
> Call post_ucs_modify_function: <function password_sync_s4_to_ucs()>
> Call post_ucs_modify_function: <function lockout_sync_s4_to_ucs()>
> Successfully synced 'uid=test,l=school,l=dev' to AD.