-
Notifications
You must be signed in to change notification settings - Fork 96
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Issue 5939 - During an update, if the target entry is reverted in the…
… entry cache, the server should not retry to lock it Bug description: During an update if an BETXN plugin fails the full TXN is aborted and the DB returns to the previous state. However potential internal updates, done by BETXN plugins, are also applied on the entry cache. Even if the TXN is aborted some entries in the entry cache are left in a state that does not reflect the DB state. The fix https://pagure.io/389-ds-base/issue/50260 "reverts" those entries, setting their state to INVALID. A problem is that reverted entries stay in the entry cache, until refcnt is 0. During that period, an update targeting that entry fails to retrieve the entry from the entry cache and fails to add it again as it already exist the entry. The update iterates 1000 times, trying to read the entry and to fetch it from DB. This is a pure waste as the reverted entry stays too long. The signature of this issue is a message in the error log: "Retry count exceeded" Fix description: The fix consiste in the loops (fetch on DN or NSUNIQUEID) to test if the entry state is INVALID. In such case it aborts the loop and return a failure. relates: #5939 Reviewed by:
- Loading branch information
Showing
3 changed files
with
39 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters