On 18.07.2012 13:31, Howard Chu wrote:
[...]
Is that replacing of "misplaced" attributes by syncrepl is expected behaviour or just a side effect of its syncrepl_diff_entry diff'ing algorithm?
Yes.
Did this mean "Yes, this behaviour is expected (and intended)" or "Yes, that is a side effect"?
Does attribute order matter? Is it specified somehow (sorted by modification time?)?
No, attribute order in LDAP is unspecified.
Then why does syncrepl try to reorder attributes in a backend?
Should this issue be reported as bug?
No. It is clearly working as designed.
If attribute order is unspecified, so apparently it mostly depends on the backend implementation. On the other hand syncrepl makes an assumption regarding (unspecified) attribute order and the result (list of ops sent to a backend) depends on whether that assumption was right or not. In the end, all these order-dependent modifications affect my module, as I'm trying to hook on certain DIT changes and trigger corresponding logic.
Could your "working as designed" be interpreted as "That didn't matter so far"? Given my use case, could this design be thought over? If not, what would be you recommendations in my case?
Thank you.