New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
internal syncrepl searches are flagged as unindexed #1147
Comments
Comment from mkosek at 2014-08-12 13:38:18 I would welcome this fix backported also to F20 Directory Server as FreeIPA DS log was swarmed with these error messages. |
Comment from lkrispen (@elkris) at 2014-08-12 13:45:42 the problem is the missing equality index for targetuniqueid. a fix could add it to the default indexes for the changelog, but for existing deployments a reindexing would be required. |
Comment from lkrispen (@elkris) at 2014-08-20 20:29:44 attachment |
Comment from rmeggins (@richm) at 2014-08-20 20:43:13 Do we also need to add the index to existing backends? |
Comment from lkrispen (@elkris) at 2014-08-20 20:54:32 Replying to [comment:6 richm]:
I see two problems with this. First: the current update scripts will just process the *ldifs in the .../updates directory, which add or modify entries in the dse.ldif whose DN is known. For adding and index to an existing backend this would require to query the dse.ldif to find the backends and then add it. I don't see how this can be done in the updateDS code. |
Comment from rmeggins (@richm) at 2014-08-20 21:17:33 Replying to [comment:7 elkris]:
Right. You can't do it with a .ldif file. You can do it with a .pl file. See 90subtreereindex.pl and others in ldap/admin/src/scripts
We do similar things during upgrade e.g. see 90subtreereindex.pl. I don't know if this is something that we will want to do automatically since it affects relatively few users.
A yum update/rpm update will restart the server after the updates are applied.
If that is going to cause problems, then either we need to add the index and do the reindex during upgrade, or we just add the default index and tell people what they need to do to add the index to all of their existing backend instances and reindex. |
Comment from lkrispen (@elkris) at 2014-08-21 15:09:48 Adding an index without reindexing makes searches fail. Here is an example: Without index: Adding an index for homephone, without reindexing: Reindexing: So just adding an index will result in unexpected behaviour. As this attribute is used only in the retro changelog it will not be acceptable to reindex all datbases as this can take very long. Should we add a special script to do this only for the retro changelog backend ? |
Comment from rmeggins (@richm) at 2014-08-21 19:36:04 Replying to [comment:9 elkris]:
Yes. And we should be able to do db2index -n changelogdb so that we only reindex the retro changelog. This should only affect people who are using the retrochangelog, and it should not take a long time. |
Comment from lkrispen (@elkris) at 2014-08-21 20:29:12 ok, makes sense and avoids adding stuff to release notes, where they could be missed. It could even be db2index -n changelogdb -t targetuniqueid. |
Comment from lkrispen (@elkris) at 2014-08-25 17:26:03 attachment |
Comment from lkrispen (@elkris) at 2014-08-25 21:22:12 ]$ git merge ticket47816 $ git push origin master |
Comment from lkrispen (@elkris) at 2014-08-26 22:23:26 committed to 1.3.2 |
Comment from lkrispen (@elkris) at 2017-02-11 22:50:14 Metadata Update from @elkris:
|
Cloned from Pagure issue: https://pagure.io/389-ds-base/issue/47816
For example, running syncrepl with named, gives these messages in the errors log:
Internal search - Unindexed search: source (cn=server,cn=plugins,cn=config) search base="cn=changelog" filter="(&(changenumber>=42)(targetuniqueid=xxxxxxx))" etime=0 nentries=1 notes=U
Not sure which one is unindexed - could be changenumber is not indexed for range/ordering? could be targetuniqueid is not indexed for equality?
The text was updated successfully, but these errors were encountered: