directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <>
Subject Many fixes in trunk
Date Fri, 14 Jan 2011 17:16:51 GMT
Hi guys,

after the confusion I spread this morning (it's *never* a good idea to 
start working at 7:30 am), I was able to fix all the issues I had. Let 
me give you some heads up

The main issue was for composite operations done in the server. The AP 
rename induced a second operation, a modify. So we had an external 
operation (renaming an AP) and an internal operation (modifying the AP). 
The way it was managed in the server made the revert impossible : the 
operations were reverted in the wrong order.

It was because the changeLog interceptor was in the middle of the chain. 
(I won't explain the consequences here, it would drag us too far). 
Enough said that the ChangeLong interceptor was in the wrong position, 
so I tried to move it the the end of the chain (that raises another 
issue : the JournalInterceptor and the ChangeLog interceptor should be 
merged at some point in the future).

It solved the rename issue, so I tested this modification in trunk to 
see if the server was still running. Sadly, many tests that update the 
schema were failing.

Why ? Because the ShcemaIntercptor was calling the ChangeLog too late 
after the change, and in the ChangeLog interceptor, if the operation to 
process was not the first one in this context, we simply didn't compute 
the revert (the first -external- operation was the user Add request done 
on cn=schema, and the second operation was the -internal- server 
operation done to modify the ou=schema partition). So we weren't able to 

I removed the check in the ChangeLog interceptors and run the tests 
again. Everything worked fine but some tests, with some NPE. Those NPA 
were due to some missing AttributeType declaration in the metaSyntax 
ObjectClass : the m-obsolete and x-humanReadable AT weren't in the m-may 
AT for this OC.

After fixed that, I had another NPE. The addition of a schema element 
without name generated some NPE because we expected to find a name when 
we haven't any. It was working before, but it ould be too convoluted to 
explain why.

Anyway, after this last fix, all the tests are now passing so I 
committed them.

I'm now back on the AP branch !

Emmanuel L├ęcharny

View raw message