#50364 Ticket 50363 - ds-replcheck incorrectly reports error for out of order multi-valued attributes
Closed by spichugi. Opened by mreynolds.
mreynolds/389-ds-base ticket50363  into  master

Download 50364.patch

Bug Description:

If for some reason an entry's multi-valued attribute values are in different orders on different replicas the tool reports this as an inconsistency when it is not.

Fix Description:

For both offline & online processing sort each entry's multi-valued attribute values.

https://pagure.io/389-ds-base/issue/50363

I think this fix is okay, but curious if there is possibly a way to sort these in the lib389 tools in mapped_object or similar so we avoid this problem? Ack if you just want merge though.

We could do here something like ...{k.lower(): sorted(v) for... instead of the block below, I guess. Something similar in the next added block as well, probably.

We could do here something like ...{k.lower(): sorted(v) for... instead of the block below, I guess. Something similar in the next added block as well, probably.

Yeah I tried: {k.lower(): v.sort() for...} but it didn't work. I don't fully understand these type of "for loops" - need to re-read that stuff :-) I'll give this a shot, thanks!

@firstyear

I think this fix is okay, but curious if there is possibly a way to sort these in the lib389 tools in mapped_object or similar so we avoid this problem?

Well this is outside of mapped objects in this CLI tool (ds-replcheck). It calling raw search_s and getting an "Entry". And in the other case it's built from an LDIF file (no search - it's all manually built), but I might be able to use the LDIF module for that. I'll open a new ticket to refactor the tool for mapped objects, and investigate using the LDIF module.

rebased onto 6c805f344e511fd919c84043481ef21cd24f47fe

rebased onto 974c802fceb429315bf799805917a208b44c4917

Pull-Request has been merged by mreynolds

Cool, no problems then :) just wanted to be sure this was checked as you are more familar with this code than I am.

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 pull request has been cloned to Github as issue and is available here:
- https://github.com/389ds/389-ds-base/issues/3423

If you want to continue to work on the PR, please navigate to the github issue,
download the patch from the attachments and file a new pull request.

Thank you for understanding. We apologize for all inconvenience.

Pull-Request has been closed by spichugi

Metadata