Friday 23 October 2015

Resolved | atg.repository.RepositoryException: createItem() was called with an existing ID : 'Prod200013' for type 'product'. Use getItemForUpdate() instead

While importing product data sheet into BCC got RepositoryException.Below is the stack trace of error.

---    atg.repository.RepositoryException: createItem() was called with an existing ID : 'Prod200013' for type 'product'. Use getItemForUpdate() instead.
at atg.adapter.version.VersionRepository.createItem(VersionRepository.java:1907)
at atg.adapter.version.VersionRepository.createItem(VersionRepository.java:1152)
at atg.remote.assetmanager.editor.service.RepositoryAssetServiceImpl.copyItemWithNewId(RepositoryAssetServiceImpl.java:754)
at atg.remote.assetmanager.editor.service.RepositoryAssetServiceImpl.doAddAsset(RepositoryAssetServiceImpl.java:517)
at atg.remote.assetmanager.editor.service.AssetServiceImpl.addAsset(AssetServiceImpl.java:379)
at atg.remote.assetmanager.transfer.service.ImportEngine.importSingleAsset(ImportEngine.java:421)
at atg.remote.assetmanager.transfer.service.ImportEngine.importAssets(ImportEngine.java:247)
at atg.remote.assetmanager.transfer.service.TransferService.performImport(TransferService.java:270)
at sun.reflect.GeneratedMethodAccessor647.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:421)
at atg.flex.messaging.services.TransactionalJavaAdapter.invoke(TransactionalJavaAdapter.java:127)
at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1503)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:884)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)
at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:322)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at atg.servlet.pipeline.TailPipelineServlet.service(TailPipelineServlet.java:161)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.pipeline.DispatcherPipelineServletImpl.service(DispatcherPipelineServletImpl.java:253)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.http.CookieBufferServlet.service(CookieBufferServlet.java:97)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.userprofiling.ExpiredPasswordServlet.service(ExpiredPasswordServlet.java:356)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.pipeline.MimeTyperPipelineServlet.service(MimeTyperPipelineServlet.java:206)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.droplet.DropletEventServlet.service(DropletEventServlet.java:609)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.epub.servlet.LocaleServlet.service(LocaleServlet.java:63)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.epub.servlet.ProjectServlet.service(ProjectServlet.java:87)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.epub.servlet.PublishingSecurityServlet.service(PublishingSecurityServlet.java:58)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.commerce.order.CommerceCommandServlet.service(CommerceCommandServlet.java:128)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.commerce.promotion.PromotionServlet.service(PromotionServlet.java:191)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.userprofiling.AccessControlServlet.service(AccessControlServlet.java:655)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.sessionsaver.SessionSaverServlet.service(SessionSaverServlet.java:2425)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.userprofiling.PageEventTriggerPipelineServlet.service(PageEventTriggerPipelineServlet.java:169)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.multisite.SiteSessionEventTriggerPipelineServlet.service(SiteSessionEventTriggerPipelineServlet.java:139)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.userprofiling.SessionEventTrigger.service(SessionEventTrigger.java:490)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.userprofiling.ProfilePropertyServlet.service(ProfilePropertyServlet.java:208)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.userprofiling.ProfileRequestServlet.service(ProfileRequestServlet.java:437)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.pipeline.CachePreventionServlet.service(CachePreventionServlet.java:119)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.pipeline.DynamoPipelineServlet.service(DynamoPipelineServlet.java:469)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.pipeline.URLArgumentPipelineServlet.service(URLArgumentPipelineServlet.java:280)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.pipeline.PathAuthenticationPipelineServlet.service(PathAuthenticationPipelineServlet.java:370)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.userprofiling.sso.PassportServlet.service(PassportServlet.java:554)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.security.ThreadUserBinderServlet.service(ThreadUserBinderServlet.java:91)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.dtm.TransactionPipelineServlet.service(TransactionPipelineServlet.java:212)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.pipeline.SecurityServlet.service(SecurityServlet.java:191)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.multisite.SiteContextPipelineServlet.service(SiteContextPipelineServlet.java:303)
at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:135)
at atg.servlet.pipeline.HeadPipelineServlet.passRequest(HeadPipelineServlet.java:1169)
at atg.servlet.pipeline.HeadPipelineServlet.service(HeadPipelineServlet.java:855)
at atg.servlet.pipeline.PipelineableServletImpl.service(PipelineableServletImpl.java:250)
at atg.filter.dspjsp.PageFilter.innerDoFilter(PageFilter.java:287)
at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.java:150)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
 

Root Cause : There were two products in the import data file with same id.

Solution : Remove duplicate ids from import file. Correct your data.