The test case is the following: 1- Create M1-M2 2- Create an entry 3- Disable replication M1<-->M2 4- Delete the entry on M1 5- Modify the entry on M2 6- Enable replication
The MOD (5) fails when replicated on M1, so the test entry differs on M1 and M2. This is likely a side effect of Ticket 47396.
Test case attached
attachment ticket47787_test.py
attachment 0001-Ticket-47787-A-replicated-MOD-fails-Unwilling-to-per.patch
attachment 0001-Ticket-47787-test-case.patch
Ticket has been cloned to Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1092097
attachment hang.tar.gz
The thread 8 is looping in _entryrdn_get_elem, where it continuously gets DB_DEADLOCK from each attempt to cursor->c_get. The key->data = "dc=idm,dc=lab,dc=bos,dc=redhat,dc=com"
The hang is looking as a separated issue. I created https://fedorahosted.org/389/ticket/47797 for it.
The hang being not systematic, I was able to test successfully the fix with freeipa unit tests.
Ran 1744 tests in 794.788s
FAILED (SKIP=64, errors=11, failures=1)
}}}
During that run, the fix works as it was able to apply successfully a MOD on a tombstone (if coming from replication) and replication continue without problem.
{{{ [06/May/2014:06:36:05 -0400] conn=175 fd=97 slot=97 connection from 10.16.78.61 to 10.16.78.61 ... [06/May/2014:06:36:06 -0400] conn=175 op=5 DEL dn="cn=group1,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" ... [06/May/2014:06:36:06 -0400] conn=27 op=88 EXT oid="2.16.840.1.113730.3.5.12" name="replication-multimaster-extop" [06/May/2014:06:36:06 -0400] conn=27 op=88 RESULT err=0 tag=120 nentries=0 etime=0 [06/May/2014:06:36:06 -0400] conn=27 op=89 MOD dn="cn=ipausers,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" ... [06/May/2014:06:36:06 -0400] conn=175 op=5 RESULT err=0 tag=107 nentries=0 etime=0 csn=5368bb1b000200090000 [06/May/2014:06:36:06 -0400] conn=27 op=89 RESULT err=0 tag=103 nentries=0 etime=0 csn=5368bb1a000200040000 [06/May/2014:06:36:06 -0400] conn=27 op=90 MOD dn="cn=group1,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" [06/May/2014:06:36:06 -0400] conn=27 op=90 RESULT err=0 tag=103 nentries=0 etime=0 csn=5368bb1a000300040000 [06/May/2014:06:36:06 -0400] conn=27 op=91 MOD dn="cn=ipausers,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" [06/May/2014:06:36:06 -0400] conn=27 op=91 RESULT err=0 tag=103 nentries=0 etime=0 csn=5368bb1a000400040000
'''Push to master'''
git merge ticketfreeipa_4279
Updating 24d44ba..804d923 Fast-forward dirsrvtests/tickets/ticket47787_test.py | 630 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ldap/servers/slapd/back-ldbm/ldbm_modify.c | 2 +- 2 files changed, 631 insertions(+), 1 deletion(-) create mode 100644 dirsrvtests/tickets/ticket47787_test.py
git push origin master
Counting objects: 18, done. Delta compression using up to 4 threads. Compressing objects: 100% (10/10), done. Writing objects: 100% (10/10), 6.17 KiB, done. Total 10 (delta 6), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/ds.git 24d44ba..804d923 master -> master
commit 804d923 Author: Thierry bordaz (tbordaz) tbordaz@redhat.com Date: Fri Apr 25 15:07:08 2014 +0200
git cherry-pick 804d923 [389-ds-base-1.3.2 c13feee] Ticket 47787 - A replicated MOD fails (Unwilling to perform) if it targets a tombstone 2 files changed, 631 insertions(+), 1 deletion(-) create mode 100644 dirsrvtests/tickets/ticket47787_test.py
git push origin '''389-ds-base-1.3.2'''
Counting objects: 18, done. Delta compression using up to 4 threads. Compressing objects: 100% (9/9), done. Writing objects: 100% (10/10), 6.17 KiB, done. Total 10 (delta 5), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/ds.git 86b34ca..c13feee 389-ds-base-1.3.2 -> 389-ds-base-1.3.2
git cherry-pick 804d923 [389-ds-base-1.3.1 1a9e1d8] Ticket 47787 - A replicated MOD fails (Unwilling to perform) if it targets a tombstone 2 files changed, 631 insertions(+), 1 deletion(-) create mode 100644 dirsrvtests/tickets/ticket47787_test.py
git push origin '''389-ds-base-1.3.1'''
Counting objects: 16, done. Delta compression using up to 4 threads. Compressing objects: 100% (8/8), done. Writing objects: 100% (10/10), 6.12 KiB, done. Total 10 (delta 5), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/ds.git efa23ce..1a9e1d8 389-ds-base-1.3.1 -> 389-ds-base-1.3.1
git push origin '''389-ds-base-1.2.11'''
Counting objects: 16, done. Delta compression using up to 4 threads. Compressing objects: 100% (8/8), done. Writing objects: 100% (10/10), 6.13 KiB, done. Total 10 (delta 5), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/ds.git ca407f8..0ee8496 389-ds-base-1.2.11 -> 389-ds-base-1.2.11
attachment 0001-Ticket-47787-Make-the-test-case-more-robust.patch
ack
Counting objects: 9, done. Delta compression using up to 4 threads. Compressing objects: 100% (5/5), done. Writing objects: 100% (5/5), 815 bytes, done. Total 5 (delta 3), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/ds.git 3b5f3fa..52e57de master -> master
Metadata Update from @tbordaz: - Issue assigned to tbordaz - Issue set to the milestone: 1.2.11.30
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/1118
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)
Login to comment on this ticket.