Confluence 2.9 includes an enhancement to the search functionality which allows the filtering of search results by author or contributor. Unfortunately an existing bug in Confluence prevented this functionality from being used on sites that use LDAP for their user management.
Monitoring the Upgrade Task in Confluence 2.9.1
Confluence 2.9.1 fixes this defect and also includes an upgrade task that should ensure any existing content contributors are properly indexed and therefore available in the contributor filter auto-complete box.
Enabling this functionality is simply a case of installing Confluence 2.9.1 and watching your log file during start up for specific messages, such as the following.
Beginning PersonalInformation repair. Found <n> usernames that need to be retrieved. Finished Personal Information repair.
On a large external directory of users, it is possible that this task may take many minutes to run. However, the processing of this task will not delay the startup of Confluence.
Enabling Detailed Progress Reporting during Upgrade
If you wish to see more detailed progress reporting during the upgrade, you will need to carry out the following steps.
To enable detailed progress reporting,
- Enable 'Debug' level logging for the logger called
- During startup of Confluence, you should also see additional progress reporting messages similar to the following:
Created 10 from <n> missing Personal Information objects. Created 20 from <n> missing Personal Information objects. Created 30 from <n> missing Personal Information objects.
Manually Instigating the Fix
Should you discover any problems during the repair task (as reported in the logs), then a Confluence Administrator can manually rerun the task by visiting the following page.
<confluence base URL>/admin/createMissingPersonalInfo.jsp
That page presents a single button that will re-run the repair task. In addition to the logging noted previously, the same messages will be returned to the administrator's browser.
Actions Taken when Running the Fix
There is no functional cost to running this fix. Should you accidentally run it too frequently, there is no functional implication. It is worth being aware of what is happening in the back-end so you can schedule a relevant time to perform it. While the fix is running, the following occurs:
- Two database queries are run to find the missing contributors, each involving an inner join against the same table.
- Each missing user is requested from the LDAP server by username.
- Each missing user will lead to a row insert in the database (these are batched).