Ticket was cloned from Red Hat Bugzilla (product Red Hat Enterprise Linux 7): Bug 1352121
Description of problem: In MMR replication topology, MemberOf plugin is enabled in all of replicas as documented in Admin GUide and memberofattr(e.g. memberOf) is excluded in replication agreement for dedicated consumer, replication of group member addition fails with err=10 as follows due to post operation of Memebrof Plugin. access: [30/Jun/2016:21:31:17 +0900] conn=17 op=5 MOD dn="cn=group1,ou=Groups,dc=example,dc=com" [30/Jun/2016:21:31:17 +0900] conn=17 op=5 RESULT err=10 tag=103 nentries=0 etime=0 csn=577511150000000b0000 errors: [30/Jun/2016:21:31:17 +0900] memberof-plugin - memberof_postop_modify: failed to add dn (cn=group1,ou=Groups,dc=example,dc=com) to target. Error (10) Because it is a read only consumer and updates are rejected also for internal ops. Request to Enhancemate. Please allow dedicated consumer to enable MemberOf Plugin.
Metadata Update from @mreynolds: - Issue set to the milestone: 1.3.6.0
I think this issue is invalid. On a dedicated consumer, we can't allow changes to the DB. So in that case, because all incoming data must be correct, and we guarantee no divergence, we can accept replicated memberOf here.
TBH I don't really see an issue with replicating memberOf normally anyway, since it gets re-processed anyway, and if there are no changes, we shouldn't touch entries anyway ....
Metadata Update from @firstyear: - Custom field reviewstatus adjusted to review - Issue close_status updated to: None
Metadata Update from @firstyear: - Custom field reviewstatus reset
Metadata Update from @mreynolds: - Issue set to the milestone: FUTURE (was: 1.3.6.0)
The attached patch requires more tests. At least it is working in simple tests
<img alt="0001-Ticket-49064-RFE-allow-to-enable-MemberOf-plugin-in-.patch" src="/389-ds-base/issue/raw/files/992d3e7594ff593e89fc1e336f5eb3982bfa65359e1d55f4d6d1ff5404089fb9-0001-Ticket-49064-RFE-allow-to-enable-MemberOf-plugin-in-.patch" />
Metadata Update from @tbordaz: - Custom field reviewstatus adjusted to None
Test completed, attaching new patch include test case
<img alt="0001-Ticket-49064-RFE-allow-to-enable-MemberOf-plugin-in-.patch" src="/389-ds-base/issue/raw/files/4a0d58fa9331e1c8180acb2f1b6b0928b4e66488e6a9faa3c0cb96e223557057-0001-Ticket-49064-RFE-allow-to-enable-MemberOf-plugin-in-.patch" />
Metadata Update from @tbordaz: - Custom field reviewstatus adjusted to review (was: None)
don't see the testcase, otherwise looks good
@lkrispen, thank you soooo much for having look at it. For testcase I meant the lib389 tests in https://pagure.io/389-ds-base/issue/raw/files/4a0d58fa9331e1c8180acb2f1b6b0928b4e66488e6a9faa3c0cb96e223557057-0001-Ticket-49064-RFE-allow-to-enable-MemberOf-plugin-in-.patch
I think that the test case looks good. does a pause/resume really trigger an immediate replication operation? Otherwise I am happy with this :)
@firstyear, thanks for looking at it. The pause resume was just to give time replicate update and complete memberof internal update . Else if you search on the hub/consumer too fast after the update on the master, it may lookup an entry that is not yet updated.
@lkrispen , @firstyear . I completed the tests (suite basic + all tickets), it does not introduce any regression. If you are ok, would any of you give me a ack :)
Metadata Update from @lkrispen: - Custom field reviewstatus adjusted to ack (was: review)
git push origin master
Counting objects: 11, done. Delta compression using up to 8 threads. Compressing objects: 100% (11/11), done. Writing objects: 100% (11/11), 3.82 KiB | 0 bytes/s, done. Total 11 (delta 7), reused 0 (delta 0) To ssh://git@pagure.io/389-ds-base.git e8c56aa..c973e63 master -> master
Updated patch. The committed patch contains an additional test for memberof fixup task
<img alt="0001-Ticket-49064-RFE-allow-to-enable-MemberOf-plugin-in-.patch" src="/389-ds-base/issue/raw/files/5514d3e83687104a499a84257a790b1175c466576014570dc1a4d4886bc7351a-0001-Ticket-49064-RFE-allow-to-enable-MemberOf-plugin-in-.patch" />
Metadata Update from @tbordaz: - Issue assigned to tbordaz
Metadata Update from @tbordaz: - Issue close_status updated to: fixed - Issue set to the milestone: 1.3.7.0 (was: FUTURE) - Issue status updated to: Closed (was: Open)
@tbordaz This needs to be cherry-picked to 1.3.7 please.
git push origin 389-ds-base-1.3.7
Counting objects: 11, done. Delta compression using up to 8 threads. Compressing objects: 100% (11/11), done. Writing objects: 100% (11/11), 3.82 KiB | 0 bytes/s, done. Total 11 (delta 7), reused 0 (delta 0) To ssh://git@pagure.io/389-ds-base.git 2ef4e81..a2cd791 389-ds-base-1.3.7 -> 389-ds-base-1.3.7
Hardening of the testcase
Counting objects: 6, done. Delta compression using up to 8 threads. Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 549 bytes | 0 bytes/s, done. Total 6 (delta 5), reused 0 (delta 0) To ssh://git@pagure.io/389-ds-base.git c973e63..478a2ae master -> master
Counting objects: 6, done. Delta compression using up to 8 threads. Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 552 bytes | 0 bytes/s, done. Total 6 (delta 5), reused 0 (delta 0) To ssh://git@pagure.io/389-ds-base.git a2cd791..7b960ba 389-ds-base-1.3.7 -> 389-ds-base-1.3.7
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/2123
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.