Downsizing transaction file

Since UCS 4.4 the transaction mechanism has changed, due to that this article is not applicable for UCS version higher than 4.4-0 errata81.
The new Article can be found here: Prune transaction log

Problem:

An UCS master records each transaction, done by the univention-directory-notifier, in a file called transaction within the directory /var/lib/univention-ldap/notify.
In larger environments with a high count of LDAP changes, this file size grows steadily.

Possible footnotes can be:

  • The start the univention-directory-notifier daemon is slow.
  • The join of new UCS systems is slow.

Workaround:

If each system in the domain is (mostly) at the same replication level (see UCS manual: Analysis of listener/notifier problems for further analysis in doubt) you can safely downsize the transaction file by keeping only the last 10000 transactions. To do so you may use these steps at the DC Master:

/etc/init.d/univention-directory-notifier stop
/etc/init.d/univention-directory-listener stop
/etc/init.d/slapd stop

mv  /var/lib/univention-ldap/notify/transaction.index /root/transaction.index.bak
cd /var/lib/univention-ldap/notify/
tail -n 10000 transaction > transaction.new
tar cvf - transaction | gzip -9 -> transaction-backup-$(date +%Y%m%d).tgz
mv transaction.new transaction

/etc/init.d/univention-directory-notifier start
/etc/init.d/univention-directory-listener start
/etc/init.d/slapd start