This documentation relates to the latest version of Confluence.
If you are using an earlier version, please go to the documentation home page and select the relevant version.

How to Improve User Search Performance

All Versions
Click for all versions
Confluence 2.9 Documentation

Index

If your Confluence instance contains thousands of user accounts and you are experiencing performance issues when searching for users, the following migration guide is for you.

Background

In Confluence 2.1, we introduced a new system for user management inside Confluence (atlassian-user) that was more powerful than the previous system (OSUser). However, to avoid potential upgrade issues, we continued to use OSUser when storing users in the local Confluence database.

The native atlassian-user storage format provides much more efficient searching, and greatly improves the performance of user administration and Confluence's 'user picker' pop-up. We plan on migrating all Confluence instances to the new format around version 2.6 or 2.7, but until then Confluence instances with large numbers of users can still take advantage of these performance improvements by performing the migration manually.

Migration procedure

Do not use this procedure if you have LDAP user management enabled.

This guide assumes that you are using Confluence's local users and groups. If you have already configured Confluence for LDAP user/group management and are experiencing user management slowness, please follow the guide for Requesting External User Management Support.

Manual migration no longer required from Confluence 2.7.0

This page describes how to perform a manual migration of your users from OSuser to AtlassianUser. For Confluence 2.7.0 and later, there is no need to perform a manual migration of your users to the AtlassianUser framework. If you are installing Confluence 2.7.0 or later for the first time, you will automatically receive the AtlassianUser framework. If you are upgrading from an earlier version to Confluence 2.7.0 or later and have not changed the default user management configuration, your users will be automatically migrated. Refer to the details in the Confluence 2.7 Upgrade Guide.

For details of the procedure, refer to Migrating to new User Management.

Labels:

confluence confluence Delete
user user Delete
management management Delete
slow slow Delete
hibernate hibernate Delete
osuser osuser Delete
performance performance Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. Jun 07, 2007

    Garnet R. Chaney says:

    We were set to authenticate with LDAP before this process. After this process, ...

    We were set to authenticate with LDAP before this process. After this process,

    • the administrator account still worked, but LDAP accounts could not login.
    • going to Administration -> Manage Users -> Show All Users comes up very fast now, but all the users are in random order.
    • Nothing in Administration -> System Information shows which user store (or authentication method) is being used, so I am just guessing about where my users are coming from. It should probably have some lines for these things.
    • On a very long migration (thousands of users, taking possibly 2 seconds each), the browser window for /admin/osuser2atluser.jsp times out before showing any of the migrating messages.
    1. Jul 02, 2007

      Mei Yan Chan says:

      Hi Garnet, Please raise this issue in our support system. Thanks. Regards, Mei

      Hi Garnet,

      Please raise this issue in our support system. Thanks.

      Regards,
      Mei

  2. Sep 24, 2007

    Gary S. Weaver says:

    You might want to be careful about just copying atlassian-user.xml over your exi...

    You might want to be careful about just copying atlassian-user.xml over your existing one. That seems like it could be a good way of losing LDAP config info as well as being a problem when the default config file changes in future versions of confluence. Instead it would be better if these directions said that prior to migration, you should either uncomment or add the following line and it must occur before the osuser element! (or you will get an error):

    <hibernate name="Hibernate Repository" key="hibernateRepository"  description="Hibernate Repository" cache="true"/>

    (as a subelement of repositories element) instead of saying you have to replace the whole atlassian-user.xml.

    Note: Updated to add cache="true" since that was added in Confluence 2.5.7.

    1. Sep 03, 2007

      Matt Ryall says:

      Thanks for the suggestion, Gary, but this guide says specifically that it should...

      Thanks for the suggestion, Gary, but this guide says specifically that it should not be used for LDAP configurations. I've updated the attached file to work correctly in 2.5.7.

      1. Sep 04, 2007

        Gary S. Weaver says:

        Matt, Just to be clear, you are saying that if you copy the atlassian-user.xml ...

        Matt,

        Just to be clear, you are saying that if you copy the atlassian-user.xml file provided as an attachment to this page over your existing atlassian-user.xml, you will lose LDAP config and any other additional config, right?

        I'm assuming that LDAP config still works even if you are using atlassian-user/hibernate schema.

        Thanks,

        Gary 

  3. Aug 15, 2007

    Gary S. Weaver says:

    Note also that if you have any users in osuser that have null passwords (which m...

    Note also that if you have any users in osuser that have null passwords (which may occur if you are autoprovisioning users as part of a non-standard authenticator), the migration will fail (see https://jira.atlassian.com/browse/CONF-9117). The following is a workaround from Fennie of Atlassian support. This fixed the migration issue for us:

    (start copy/paste from support ticket)

    I believe that there row/ rows where the column passwd has null value.

    Hence,could you please ask your DBA to give a try to the following and let me know how it goes:
    (Please make a backup copy of database before proceeding):

    1. Check Confluence database table os_user if there is any row that the passwd value is null.
    2. If there is row with a null password, set a password for it.
    3. Restart Confluence
    4. Try the migration tool again.

    I hope the above procedures would fix the problem.

    Regards,
    Fennie

    (end copy/paste from support ticket)

    Example SQL for this fix is:

    UPDATE os_user SET passwd = 'something' WHERE passwd IS NULL

    This fix assumes that your authenticator doesn't care at all what is in the passwd column. Since the value of this column (passwd) is a hash, if you put in a non-hash value like "apple", it will likely not match any password, even if the authenticator got switched back to the default.

    1. Sep 03, 2007

      Matt Ryall says:

      Thanks for the information, Gary. I've copied your workaround to the JIRA issue.

      Thanks for the information, Gary. I've copied your workaround to the JIRA issue.

      1. Sep 10, 2007

        Gary S. Weaver says:

        Cool, according to CONF-9117, it looks like this will be fixed in Confluence 2.6...

        Cool, according to CONF-9117, it looks like this will be fixed in Confluence 2.6.1.

Add Comment