Bug 1061060
Summary: | betxn: retro changelog broken after cancelled transaction | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Milan Kubík <mkubik> | ||||||
Component: | 389-ds-base | Assignee: | mreynolds | ||||||
Status: | CLOSED ERRATA | QA Contact: | Viktor Ashirov <vashirov> | ||||||
Severity: | unspecified | Docs Contact: | |||||||
Priority: | low | ||||||||
Version: | 7.0 | CC: | nhosoi, nkinder, vashirov | ||||||
Target Milestone: | rc | ||||||||
Target Release: | --- | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | 389-ds-base-1.3.3.1-1.el7 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2015-03-05 09:33:42 UTC | Type: | Bug | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
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 |
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