Red Hat Bugzilla – Bug 1061060
betxn: retro changelog broken after cancelled transaction
Last modified: 2015-03-05 04:33:42 EST
Created attachment 859026 [details] bug reproducer Description of problem: If the first transaction after enabling the retro changelog plugin fails, the database gets corrupted and any subsequent successful operation is not recorded into changelog. Version-Release number of selected component (if applicable): 389-ds-base-1.3.1.6-18.el7 How reproducible: Always Steps to Reproduce: 1. Turn on the retro changelog plugin. Restart. 2. Create a transaction that fails. E.g. by auto membership plugin. 3. Add entry in a transaction that succeeds. Actual results: ldapsearch -b "cn=changelog" does not show any sub-entries log: [04/Feb/2014:11:06:03 +0100] auto-membership-plugin - automember_add_member_value: Unable to add "cn=tuser,ou=people,dc=example,dc=com" as a "member" value to group "cn=testgroup,ou=groups,dc=example,dc=com" (No such object). [04/Feb/2014:11:06:03 +0100] DSRetroclPlugin - replog: an error occured while adding change number 1, dn = changenumber=1,cn=changelog: Already exists. Expected results: The successful entry should be recorded in changelog
Scenario 2: When a transaction fails and there are some changes in the retro changelog, the changelog skips the change sequence number that the change would have. Steps to Reproduce: 1. Turn on the retro changelog plugin 2. Add some entry in a successful transaction. 3. Do a modification and cancel the transaction. E.g. by auto membership plugin. 4. Add some other entry in a successful transaction. Actual result: The sequence number is skipped in the changelog. There is no trace of this in error log. Expected result: The failed transaction is ignored and next successful change to directory has a sequence number N+1 where N is the sequence number of the last successful transaction/modification. This is probably caused by the same bug. Attaching the reproducer for this one (It's almost the same, but little bit rearanged.)
Created attachment 859133 [details] bug reproducer scenario 2
Upstream ticket: https://fedorahosted.org/389/ticket/47712
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0416.html