Revert operation does not work for rename if some modify operation is needed
----------------------------------------------------------------------------
Key: DIRSERVER-1599
URL: https://issues.apache.org/jira/browse/DIRSERVER-1599
Project: Directory ApacheDS
Issue Type: Bug
Affects Versions: 1.5.7
Reporter: Emmanuel Lecharny
Priority: Critical
Fix For: 2.0-M1
When we do a rename on a AdministrativePoint, this imply an update of the
adminiPoint sequence number. This is done by calling a modify. the sequence of
calls in the interceptor chain is then the following :
changeLog.rename( old, new)
...
subentry.rename(old, new)
backend.rename(old, new)
ds.modify(new)
...
changeLog.modify(new)
...
backend.modify(new)
store modify(new)
store rename(new,old)
At the end, the revert stack will contain (in the order of execution) :
rename(new,old)
modify(new)
...
The problem is that the rename will be applied first (that will work), but the
modify will throw an exception, as the 'new' entry has been renamed to 'old'.
this is because we reenter the chain from the inside, so the changeLog stack is
not anymore stored in the right order.
We have to add a way to get the changelog to store revert operations the right
way.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.