У нас есть несколько серверов приложений, и время от времени наши заказы не выполняются с OCAException.Проблема в том, что обновление количества продукта (пользовательский атрибут) из внешней системы является частью нашего рабочего процесса заказа, и это исключение возникает иногда, но не всегда.Я уже видел обсуждение здесь , в котором не удалось обновить ORMException intershop - обновите ORMObject , поэтому я знаю проблему здесь - обновление объекта в другом потоке и / или сервере приложений.Но я не могу понять, почему это исключение возникает даже в наших тестовых случаях, когда задание «Количество обновления» выполняется, например, в 6 часов утра, когда больше ничего не происходит - не выполняется ни одно другое задание, нет действия пользователя?
Само задание длится около 7 секунд и выполняется в одном конвейере транзакций, который перебирает объекты ответа WS, затем получает productBO из хранилища по SKU, обновляет пользовательский атрибут Количество и устанавливает продукт в автономном или онлайн-режиме на его основе.
Может кто-нибудь объяснить, почему это происходит и как этого избежать / исправить?
Спасибо заранее!
[2018-12-01 06:55:09.962 +0100] [JobExecutor60679518] [Job:ESBImportQuantity] [Req:X5sK_SlynRsAAAFndZuVlWhV] ERROR com.intershop.beehive.core.internal.job.JobExecutor - Job 'ESBImportQuantity' pipeline finished with exception! com.intershop.beehive.core.internal.pipeline.PipelineCallStackException: com.intershop.beehive.core.capi.pipeline.PipelineExecutionException: Exception occurred while executing pipelet 'ESBUpdateProductQuantity'.
at com.intershop.beehive.core.internal.pipeline.Pipeline.executePipeline(Pipeline.java:1038)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:641)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:484)
at com.intershop.beehive.pipeline.internal.PipelineEngineImpl.executePipeline(PipelineEngineImpl.java:97)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:421)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:250)
at com.intershop.beehive.core.internal.job.JobExecutor.runJob(JobExecutor.java:399)
at com.intershop.beehive.core.internal.job.JobExecutor.processTask(JobExecutor.java:171)
at com.intershop.beehive.core.internal.environment.Worker.run(Worker.java:270)
Caused by: com.intershop.beehive.core.capi.pipeline.PipelineExecutionException: Exception occurred while executing pipelet 'ESBUpdateProductQuantity'.
at com.intershop.beehive.core.internal.pipeline.PipeletNode.executeNode(PipeletNode.java:381)
at com.intershop.beehive.core.internal.pipeline.Pipeline.executeNode(Pipeline.java:1098)
at com.intershop.beehive.core.internal.pipeline.Pipeline.executePipeline(Pipeline.java:926)
... 8 common frames omitted
Caused by: com.intershop.beehive.core.capi.pipeline.PipelineExecutionException: com.intershop.beehive.orm.capi.common.OCAException: Could not UPDATE object: com.intershop.beehive.xcs.internal.product.ProductPO
Еще одно обновление, такое же исключение возникает при выполнении системного задания "ProcessProductNotification-TriggerNotificationFromJob"и пытается обновить объект DomainPO:
[2018-12-03 01:24:59.159 +0100] ERROR lvpislive1.vipnet.hr ES1 appserver1 [] [] com.intershop.beehive.core.pipelet.pipeline.ExecutePipeline [] [Unknown] [hwUK_SlyrrEAAAFlp31ujvES] [rSEK85q4Zc8AAAFn9y.Wg3F0] "JobExecutor658081066" ISH-CORE-2490: Synchronous called pipeline 'ProcessProductNotification-TriggerNotificationFromJob' of application 'a1-shop@A1-Shop-Site (app=a1.Web)' has finished with exception: com.intershop.beehive.core.internal.pipeline.PipelineCallStackException: com.intershop.beehive.core.capi.pipeline.PipelineExecutionException: Exception occurred while executing pipelet 'UpdateSyncRecord'.
at com.intershop.beehive.core.internal.pipeline.Pipeline.executePipeline(Pipeline.java:1038)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:641)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:484)
at com.intershop.beehive.pipeline.internal.PipelineEngineImpl.executePipeline(PipelineEngineImpl.java:97)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:421)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:250)
at com.intershop.beehive.core.pipelet.pipeline.ExecutePipeline.execute(ExecutePipeline.java:175)
at com.intershop.beehive.core.internal.pipeline.PipeletNode.executeNode(PipeletNode.java:346)
at com.intershop.beehive.core.internal.pipeline.Pipeline.executeNode(Pipeline.java:1098)
at com.intershop.beehive.core.internal.pipeline.Pipeline.executePipeline(Pipeline.java:926)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:641)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:484)
at com.intershop.beehive.pipeline.internal.PipelineEngineImpl.executePipeline(PipelineEngineImpl.java:97)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:421)
at com.intershop.beehive.core.internal.pipeline.PipelineProcessorImpl.executePipeline(PipelineProcessorImpl.java:250)
at com.intershop.beehive.core.internal.job.JobExecutor.runJob(JobExecutor.java:399)
at com.intershop.beehive.core.internal.job.JobExecutor.processTask(JobExecutor.java:171)
at com.intershop.beehive.core.internal.environment.Worker.run(Worker.java:270)
Caused by: com.intershop.beehive.core.capi.pipeline.PipelineExecutionException: Exception occurred while executing pipelet 'UpdateSyncRecord'.
at com.intershop.beehive.core.internal.pipeline.PipeletNode.executeNode(PipeletNode.java:381)
at com.intershop.beehive.core.internal.pipeline.Pipeline.executeNode(Pipeline.java:1098)
at com.intershop.beehive.core.internal.pipeline.Pipeline.executePipeline(Pipeline.java:926)
... 17 common frames omitted
Caused by: com.intershop.beehive.core.capi.pipeline.PipelineExecutionException: com.intershop.beehive.orm.capi.common.OCAException: Could not UPDATE object: com.intershop.beehive.core.internal.domain.DomainPO[com.intershop.beehive.orm.internal.state.ObjectState@65beb960[typeCode=1, status=1, parentSiteID=null, siteID=j5UK_SlytKwAAAFlTuJujvEU, entryMask=0, pageCachingAllowedFlag=false, staticContentMaxAge=null, pageCacheID=null, staticContentCacheID=null, profileID=null, serverGroup=null, businessModel=null, defaultApplicationID=null, UUID=aPIK_Sly.tEAAAFlWeJujvEU, domainID=aPIK_Sly.tEAAAFlWeJujvEU, oca=2492]]
at com.intershop.beehive.core.internal.pipeline.PipelineRequest.commitTransaction(PipelineRequest.java:327)
at com.intershop.beehive.core.internal.pipeline.PipeletNode.executeNode(PipeletNode.java:374)
... 19 common frames omitted
Caused by: com.intershop.beehive.orm.capi.common.OCAException: Could not UPDATE object: com.intershop.beehive.core.internal.domain.DomainPO[com.intershop.beehive.orm.internal.state.ObjectState@65beb960[typeCode=1, status=1, parentSiteID=null, siteID=j5UK_SlytKwAAAFlTuJujvEU, entryMask=0, pageCachingAllowedFlag=false, staticContentMaxAge=null, pageCacheID=null, staticContentCacheID=null, profileID=null, serverGroup=null, businessModel=null, defaultApplicationID=null, UUID=aPIK_Sly.tEAAAFlWeJujvEU, domainID=aPIK_Sly.tEAAAFlWeJujvEU, oca=2492]]
at com.intershop.beehive.orm.internal.query.SQLManagerImpl.createDMLStatement(SQLManagerImpl.java:375)
at com.intershop.beehive.orm.internal.query.SQLManagerImpl.createUpdateStatement(SQLManagerImpl.java:252)
at com.intershop.beehive.orm.internal.query.QueryManagerImpl.executeDMLStatement(QueryManagerImpl.java:112)
at com.intershop.beehive.orm.internal.query.QueryManagerImpl.executeUpdateQuery(QueryManagerImpl.java:76)
at com.intershop.beehive.orm.internal.state.StateManagerImpl.updateObjectState(StateManagerImpl.java:60)
at com.intershop.beehive.orm.capi.common.ORMObject.prepareState(ORMObject.java:1868)
at com.intershop.beehive.orm.capi.common.ORMObject.transactionPrepared(ORMObject.java:1807)
at com.intershop.beehive.orm.internal.transaction.TransactionImpl.prepareTransaction(TransactionImpl.java:709)
at com.intershop.beehive.orm.internal.transaction.TransactionImpl.commit(TransactionImpl.java:307)
at com.intershop.beehive.core.internal.pipeline.PipelineRequest.commitTransaction(PipelineRequest.java:314)
... 20 common frames omitted