Problem: Notifier.log Shows Traceback

Problem

Your notifier does not start any more (based on this article) and your /var/log/univention/notifier.log shows a traceback as follows:

2019-04-24 18:01:25,518:ERROR:ldap_add(Transaction(tid=5412, dn='relativeDomainName=notebook,zoneName=multi.ucs,cn=dns,dc=multi,dc=ucs', command='m')): Already exists
Traceback (most recent call last):
  File "/usr/share/univention-directory-notifier/univention-translog", line 1178, in <module>
    exit(main())
  File "/usr/share/univention-directory-notifier/univention-translog", line 398, in main
    return opt.func(opt) or 0
  File "/usr/share/univention-directory-notifier/univention-translog", line 482, in import_all
    for rec in chain(lead, translog):
  File "/usr/share/univention-directory-notifier/univention-translog", line 330, in __iter__
    rec = self.parse_line(line)
  File "/usr/share/univention-directory-notifier/univention-translog", line 251, in parse_line
    tid, rest = line.split(' ', 1)
ValueError: need more than 1 value to unpack

Investigation

The file /var/lib/univention-ldap/notifier/transaction has some misconfigured lines. By default they contain three space separated entries:

2122 relativeDomainName=mysql,zoneName=multi.ucs,cn=dns,dc=multi,dc=ucs a
2123 zoneName=multi.ucs,cn=dns,dc=multi,dc=ucs m

The first column counts the transaction ID, the second names the DN and the last the action ( “ m ”, “ r ”, “ a ” or “ d ”). If a line does not fit in this schema, it is corrupted.

Solution

Fix your corrupted file based on this article.

Mastodon