It's all about the answers!

Ask a question

Saving User Failed


karmah El-qadi (812) | asked May 06 '15, 9:11 a.m.
Hi,

We recently had our RTC 5.0 migrated from one server to another. Since then, we haven't been able to update old user profiles with the following error:

Saving user failed.ID CRJAZ2419E
hide details
more than one mapping for item with id _

We found the following article with the same problem, however the resolution listed didn't solve the issue.
http://www-01.ibm.com/support/docview.wss?uid=swg21496228

Thanks in advance


Comments
Krzysztof Kaźmierczyk commented May 06 '15, 10:31 a.m.

Hi Karman,
Could you provide the output from ccm.log (entire stack trace) when the issue happens?


karmah El-qadi commented May 06 '15, 11:26 a.m. | edited May 07 '15, 4:43 a.m.

 Hi Krzysztof,


The ccm.log, admin.log and jts.log don't log anything when the issue happens, however, below is the full exception details displayed on the web client, hope it is meaningful. 

Saving user failed.ID CRJAZ2419E
hide details
more than one mapping for item with id _d5WsoBf9EeS1W6thevxf7g
com.ibm.team.repository.common.TeamRepositoryException
com.ibm.team.repository.service.compatibility.resolution.internal.URIMappingService.getURIMappingHandleForItemHandle(URIMappingService.java:209)
com.ibm.team.repository.service.compatibility.resolution.internal.URIMappingService.getURIMappingForItemHandle(URIMappingService.java:192)
com.ibm.team.repository.service.compatibility.resolution.internal.URIMappingService.getURIForItemHandle(URIMappingService.java:145)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
java.lang.reflect.Method.invoke(Method.java:611)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
com.sun.proxy.$Proxy286.getURIForItemHandle(Unknown Source)
com.ibm.team.repository.service.compatibility.user.registry.CompatibilityExternalUserRegistryService.updateETag(CompatibilityExternalUserRegistryService.java:80)
com.ibm.team.repository.service.compatibility.user.registry.CompatibilityExternalUserRegistryService.updateExternalUser(CompatibilityExternalUserRegistryService.java:315)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
java.lang.reflect.Method.invoke(Method.java:611)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
com.sun.proxy.$Proxy953.updateExternalUser(Unknown Source)
com.ibm.team.repository.service.jts.internal.userregistry.ExternalUserRegistryServiceDelegator.updateExternalUser(ExternalUserRegistryServiceDelegator.java:290)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
java.lang.reflect.Method.invoke(Method.java:611)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
com.sun.proxy.$Proxy1234.updateExternalUser(Unknown Source)
com.ibm.team.repository.service.internal.AdminRestService.postContributor(AdminRestService.java:212)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
java.lang.reflect.Method.invoke(Method.java:611)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
com.sun.proxy.$Proxy1246.postContributor(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
java.lang.reflect.Method.invoke(Method.java:611)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.doModelledRestService(AbstractTeamServerServlet.java:527)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:2198)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:1990)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1800)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:74)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:165)
com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:198)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:339)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:906)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:929)
java.lang.Thread.run(Thread.java:761)

Thanks a lot.

Accepted answer


permanent link
Donald Nong (14.5k414) | answered May 07 '15, 4:44 a.m.
Judging by the stack trace, this issue looks very similar to an old case posted on this forum.
https://jazz.net/forum/questions/52365/error-trying-to-add-license-for-user-crjaz1534e-error
Try the solution proposed there - re-sync the user data between JTS and CCM.
karmah El-qadi selected this answer as the correct answer

Comments
karmah El-qadi commented May 07 '15, 6:46 a.m.

 Hi Donald,


Thanks for the post. It helped me resolve the issue :)

One other answer



permanent link
karmah El-qadi (812) | answered May 07 '15, 6:49 a.m.
 
Hi,

Just an update for how I resolved the issue. I had tried re-syncing the servers before, as Donald has referenced, but with no vain. 
I'd been mistaken in:
  • Running the command on jts not ccm. 
  • I had assumed that migration_importUserMapping is not supported in Repotools 5.0 as:
    • migration_importUserMapping is an invalid command for jts 
    • As well, the repotools reference for RTC 5.0 doesn't include the  migration_importUserMapping command and the reference for RTC 3.0 mentions "This command must be used only during the 2.x to 3.x upgrade. " And since I'm using RTC 5.0, I'd assumed that this command had been deprecated and I tried several combinations for importusers and re-indexing commands. 
And I resolved it by running the following commands:
  • repotools-ccm migration_importUserMapping  fromFile=emptyfile.csv
  • repotools-ccm -rebuildTextIndices
  • repotools-ccm -reindex

Comments
Martha (Ruby) Andrews commented May 07 '15, 1:22 p.m.
JAZZ DEVELOPER

Thanks for the follow up karmah. Glad to hear you got this working.
I filed ImportUserMapping command description can be confusing (356413) to improve the description of the command.

Ruby
Martha (Ruby) Andrews
Jazz Foundation L3 Development Team Lead

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.