Details
-
Bug
-
Resolution: Duplicate
-
Medium
-
None
-
None
-
None
Description
In some (rare) circumstances, it appears possible for there to be two identical users in the JIRA database (where userbase.username is the same). Restoring a database in this state will result in the following exception at the end when reindexing (the database is still useable):
2005-07-08 10:51:47,451 WARN [jira.issue.index.DefaultIndexManager] There was an exception whilst reindexing issue ABC-30java.lang.IllegalArgumentException: Passed List had more than one value.
java.lang.IllegalArgumentException: Passed List had more than one value.
at org.ofbiz.core.entity.EntityUtil.getOnly(EntityUtil.java:58)
at com.opensymphony.user.provider.ofbiz.OFBizAbstractProvider.findUser(OFBizAbstractProvider.java:159)
at com.opensymphony.user.provider.ofbiz.OFBizCredentialsProvider.handles(OFBizCredentialsProvider.java:114)
at com.opensymphony.user.UserManager.getProvider(UserManager.java:313)
at com.opensymphony.user.UserManager.getEntity(UserManager.java:299)
at com.opensymphony.user.UserManager.getUser(UserManager.java:193)
at com.atlassian.core.user.UserUtils.getUser(UserUtils.java:31)
at com.atlassian.jira.issue.index.AbstractDocument.indexUserGroups(AbstractDocument.java:34)
at com.atlassian.jira.issue.index.IssueDocument.getDocument(IssueDocument.java:47)
at com.atlassian.jira.issue.index.DefaultIndexManager.indexIssue(DefaultIndexManager.java:154)
at com.atlassian.jira.issue.index.DefaultIndexManager.indexIssuesAndComments(DefaultIndexManager.java:272)
at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:222)
at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexAll(DefaultIndexManager.java:135)
at com.atlassian.jira.issue.index.DefaultIndexManager.activate(DefaultIndexManager.java:104)
at com.atlassian.jira.action.admin.DataImport.reindex(DataImport.java:202)
at com.atlassian.jira.action.admin.DataImport.doExecute(DataImport.java:140)
at webwork.action.ActionSupport.execute(ActionSupport.java:153)
The duplicate record can be identified with SQL:
mysql> select * from userbase group by username having count(username) > 1;
-------------------------------------------------------------------------------------------------------
ID | username | PASSWORD_HASH |
-------------------------------------------------------------------------------------------------------
10085 | joe | uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHefUzD73Zvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ== |
-------------------------------------------------------------------------------------------------------
Attachments
Issue Links
- duplicates
-
JRASERVER-5714 Duplicate entry in userbase table breaks User browser, Forgot Password
- Closed