#50260 Entry cache corruption after be txn plugin failure
Closed: wontfix 2 years ago by mreynolds. Opened 2 years ago by mreynolds.

Issue Description

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

2 years ago

Metadata Update from @mreynolds:
- Issue set to the milestone: 1.4.1 (was: 1.3.9)

2 years ago

CI test to reproduce issue:

entry_cache_corruption_test.patch

Metadata Update from @mreynolds:
- Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1482596

2 years ago

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.

commit 7ba8a80 master

1f15e96..09b5a2c 389-ds-base-1.4.0 -> 389-ds-base-1.4.0

0ef0383..679f0fe 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)

2 years ago

Metadata Update from @mreynolds:
- Issue status updated to: Open (was: Closed)

2 years ago

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 33fbced

906e093..67aaee4 389-ds-base-1.4.0 -> 389-ds-base-1.4.0

d0877d2..9901025 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)

2 years ago

d268928..066a7b4 master -> origin/master
bf2da9c..6e2e790 389-ds-base-1.4.2 -> 389-ds-base-1.4.2
9bc0429..444fe6f 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.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: fixed)

14 days ago

Login to comment on this ticket.

Metadata
Attachments 1