Duplicate User Error

After a Migration from Connections 5.0 CR3 to Connections 5.5, I had a User who could not access “Files”, “Activities” and “Communities” Application.

At the time the User tried to access the Applications I could see the following errors in the Log Files:

LotusConnecti E com.ibm.openactivities.exception.OpenActivitiesException: CLFRA0473E: Error locating profile: EXID mismatch, but email matches. name=<user_name>, directory EXID=D8823B93-F20D-F1AC-C125-7BA30045D6CF, db EXID=<user_id>

javax.servlet.ServletException: com.ibm.openactivities.exception.OpenActivitiesException: CLFRA0473E: Error locating profile: EXID mismatch, but email matches. name=<user_name>, directory EXID=D8823B93-F20D-F1AC-C125-7BA30045D6CF, db EXID=<user_id>

000004fa UserDAOImpl W EJPVJ9367E: Unable to associate the login ID <user_id> to the user ID D8823B93-F20D-F1AC-C125-7BA30045D6CF.

UserLifeCycle E com.ibm.lconn.core.web.util.admin.UserLifeCycleCmdsImpl$IUserCallbackImpl userLifeCycleSpiUpdatePerson com.ibm.lconn.share.platform.exception.DuplicateUserAccountException: EJPVJ9437E: Unable to edit user with ID 8781ffb1-6db4-4dfb-b386-431ce3f60544.

Caused by: com.ibm.websphere.ce.cm.DuplicateKeyException: One or more values in the INSERT statement, UPDATE statement, or foreign key update caused by a DELETE statement are not valid because the primary key, unique constraint or unique index identified by “2” constrains table “FILES.USER_TO_LOGIN” from having duplicate values for the index key.. SQLCODE=-803, SQLSTATE=23505, DRIVER=4.19.49

0000016c MemberProfile E sun.reflect.NativeMethodAccessorImpl invoke0 CLFRA0349E: Error locating profile: EXID mismatch, but email matches. email=<email_address>, directory EXID=D8823B93-F20D-F1AC-C125-7BA30045D6CF, db EXID=<user_id>

The following article didn´t help me: https://www.ibm.com/support/knowledgecenter/SSFHJY_2.0.0/deploy/duplicate_user_account_issue.dita

The “Files.User” table in the “Files” database looked like this:

Scrolling further right, you could see the state of the user entry:

After that I checked if the “Directory_ID” could be found in the “PEOPLEDB”, “Employee” Table, which was the case.

To resolve this error I used the following commands:

FilesMemberService.syncMemberByExtId(“<directory_account_state_0>”,{“newExtId”: “<directory_account_state_1>”, “allowExtIdSwap”: “true”})

CommunitiesMemberService.syncMemberByExtId(“<directory_account_state_0>”,{“newExtId”: “<directory_account_state_1>”, “allowExtIdSwap”: “true”})

ActivitiesMemberService.syncMemberByExtId(“<directory_account_state_0>”,{“newExtId”: “<directory_account_state_1>”, “allowExtIdSwap”: “true”})

Before you use these commands you will have to initialize the “wsadmin” command prompt and enable the administration for all applications involved, in my case I have done the following:

wsadmin –lang jython –username <was_admin_account> –password <password>

execfile(“filesAdmin.py”)

FilesMemberService.syncMemberByExtId(“WBTSCV”,{“newExtId”: “D8823B93-F20D-F1AC-C125-7BA30045D6CF”, “allowExtIdSwap”: “true”})

execfile(“communitiesAdmin.py”)

CommunitiesMemberService.syncMemberByExtId(“WBTSCV”,{“newExtId”: “D8823B93-F20D-F1AC-C125-7BA30045D6CF”, “allowExtIdSwap”: “true”})

execfile(“activitiesAdmin.py”)

ActivitiesMemberService.syncMemberByExtId(“WBTSCV”,{“newExtId”: “D8823B93-F20D-F1AC-C125-7BA30045D6CF”, “allowExtIdSwap”: “true”})

After that the user could access all applications without any problems.

Advertisements