It has been reported that during a delete if MEP plugin fails, the previous changes made by RI plugin are not reverted. Since these are backend txn plugins the chain of updates should be aborted. The problem is that the entry cache is not cleaned up after the operation is aborted.
Reported on 389-ds-base-1.3.8
Turns out this is an entry cache corruption. The RI plugin update was reverted but the entry cache was already updated by the RI plugin, and there is currently no mechanism to "revert" the entry cache when a backend transaction plugin fails.
Metadata Update from @mreynolds: - Custom field origin adjusted to None - Custom field reviewstatus adjusted to None
Metadata Update from @mreynolds: - Issue set to the milestone: 1.4.1 (was: 1.3.9)
CI test to reproduce issue:
Metadata Update from @mreynolds: - Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1482596
Awesome, I'm really happy we have a test case that can produce this corruption reliably. I haven't reviewed the patch though, but still excited because this can help us prove a fix to the entry cache works correctly.
https://pagure.io/389-ds-base/pull-request/50269
commit 7ba8a80cfbaed9f6d727f98ed8c284943b3295e1 master
1f15e966c..09b5a2c32 389-ds-base-1.4.0 -> 389-ds-base-1.4.0
0ef038332..679f0fe1a 389-ds-base-1.3.9 -> 389-ds-base-1.3.9
Metadata Update from @mreynolds: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Metadata Update from @mreynolds: - Issue status updated to: Open (was: Closed)
There was still an issue with modrdn's and flushing invalid entries, this PR updates the CI test and fixes that issue:
https://pagure.io/389-ds-base/pull-request/50286
commit 33fbced25277b88695bfba7262e606380e9d891f
906e093f5..67aaee470 389-ds-base-1.4.0 -> 389-ds-base-1.4.0
d0877d2a7..99010255e 389-ds-base-1.3.9 -> 389-ds-base-1.3.9
https://pagure.io/389-ds-base/pull-request/51232
d26892804..066a7b49d master -> origin/master bf2da9c4d..6e2e7900b 389-ds-base-1.4.2 -> 389-ds-base-1.4.2 9bc042902..444fe6fbf 389-ds-base-1.4.3 -> 389-ds-base-1.4.3
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/3319
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)