1808:目录同步抛出"项目8797713957483不再有效(已删除):对象不再有效"

2020-09-08 23:42发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我将从6.5升级到1808 ,并且在一个新初始化的系统上遇到了一个非常奇怪的同步问题。 由于此错误,许多产品(以及cms项目)无法同步:

 错误[AbstractItemCopyContext:80]错误设置partOf属性功能:项8797713957483不再有效(已删除):对象不再有效
  项目8797713957483不再有效(已删除):对象不再有效
      在de.hybris.platform.jalo.Item $ CachedGetter.get(Item.java:696)
      在de.hybris.platform.jalo.ExtensibleItem.getProperty(ExtensibleItem.java:363)
  在de.hybris.platform.catalog.jalo.GeneratedItemSyncTimestamp.getPendingAttributesOwnerJob(GeneratedItemSyncTimestamp.java:247)
  在de.hybris.platform.catalog.jalo.GeneratedItemSyncTimestamp.getPendingAttributesOwnerJob(GeneratedItemSyncTimestamp.java:256)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext $ ItemCopyCacheEntry.isProcessed InTurn(GenericCatalogCopyContext.java:2543)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(GenericCatalogCopyContext.java:2287)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncCopyContext.copy(CatalogVersionSyncCopyContext.java:533)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(GenericCatalogCopyContext.java:2250)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copyPartOfValues(GenericCatalogCopyContext.java:1891)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.translate(GenericCatalogCopyContext.java:424)
      在de.hybris.platform.catalog.jalo.synchronization.AttributeCopyCreator.copy(AttributeCopyCreator.java:125)
  在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.setReferenceAttributesWaitingOnDelay(ItemCopyCreator.java:712)
  在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.setPartOfReferences(ItemCopyCreator.java:689)
      在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.doCopy(ItemCopyCreator.java:440)
      在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.access $ 3(ItemCopyCreator.java:426)
      在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator $ 2.execute(ItemCopyCreator.java:401)
      在de.hybris.platform.tx.Transaction.execute(Transaction.java:1192)
      在de.hybris.platform.tx.Transaction.execute(Transaction.java:1157)
      在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.doCopyInTx(ItemCopyCreator.java:394)
      在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.copy(ItemCopyCreator.java:245)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(GenericCatalogCopyContext.java:2320)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncCopyContext.copy(CatalogVersionSyncCopyContext.java:533)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(GenericCatalogCopyContext.java:2245)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker.copyItem(CatalogVersionSyncWorker.java:188)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker.doSynchronization(CatalogVersionSyncWorker.java:159)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker $ 1.run(CatalogVersionSyncWorker.java:122)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncMaster.runExclusiveIfNecessary(CatalogVersionSyncMaster.java:307)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker.run(CatalogVersionSyncWorker.java:95)
      在java.lang.Thread.run(Thread.java:748)
      在de.hybris.platform.core.threadregistry.RegistrableThread.internalRun(RegistrableThread.java:144)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorkerThread.internalRun(CatalogVersionSyncWorkerThread.java:78)
      在de.hybris.platform.core.threadregistry.RegistrableThread.run(RegistrableThread.java:134)

  

该PK属于 ItemSyncTimestamp ",它可能与 https://answers.sap.com/questions/12756348/view.html

你们当中有人知道为什么会这样吗?

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我将从6.5升级到1808 ,并且在一个新初始化的系统上遇到了一个非常奇怪的同步问题。 由于此错误,许多产品(以及cms项目)无法同步:

 错误[AbstractItemCopyContext:80]错误设置partOf属性功能:项8797713957483不再有效(已删除):对象不再有效
  项目8797713957483不再有效(已删除):对象不再有效
      在de.hybris.platform.jalo.Item $ CachedGetter.get(Item.java:696)
      在de.hybris.platform.jalo.ExtensibleItem.getProperty(ExtensibleItem.java:363)
  在de.hybris.platform.catalog.jalo.GeneratedItemSyncTimestamp.getPendingAttributesOwnerJob(GeneratedItemSyncTimestamp.java:247)
  在de.hybris.platform.catalog.jalo.GeneratedItemSyncTimestamp.getPendingAttributesOwnerJob(GeneratedItemSyncTimestamp.java:256)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext $ ItemCopyCacheEntry.isProcessed InTurn(GenericCatalogCopyContext.java:2543)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(GenericCatalogCopyContext.java:2287)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncCopyContext.copy(CatalogVersionSyncCopyContext.java:533)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(GenericCatalogCopyContext.java:2250)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copyPartOfValues(GenericCatalogCopyContext.java:1891)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.translate(GenericCatalogCopyContext.java:424)
      在de.hybris.platform.catalog.jalo.synchronization.AttributeCopyCreator.copy(AttributeCopyCreator.java:125)
  在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.setReferenceAttributesWaitingOnDelay(ItemCopyCreator.java:712)
  在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.setPartOfReferences(ItemCopyCreator.java:689)
      在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.doCopy(ItemCopyCreator.java:440)
      在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.access $ 3(ItemCopyCreator.java:426)
      在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator $ 2.execute(ItemCopyCreator.java:401)
      在de.hybris.platform.tx.Transaction.execute(Transaction.java:1192)
      在de.hybris.platform.tx.Transaction.execute(Transaction.java:1157)
      在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.doCopyInTx(ItemCopyCreator.java:394)
      在de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.copy(ItemCopyCreator.java:245)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(GenericCatalogCopyContext.java:2320)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncCopyContext.copy(CatalogVersionSyncCopyContext.java:533)
  在de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(GenericCatalogCopyContext.java:2245)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker.copyItem(CatalogVersionSyncWorker.java:188)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker.doSynchronization(CatalogVersionSyncWorker.java:159)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker $ 1.run(CatalogVersionSyncWorker.java:122)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncMaster.runExclusiveIfNecessary(CatalogVersionSyncMaster.java:307)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker.run(CatalogVersionSyncWorker.java:95)
      在java.lang.Thread.run(Thread.java:748)
      在de.hybris.platform.core.threadregistry.RegistrableThread.internalRun(RegistrableThread.java:144)
  在de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorkerThread.internalRun(CatalogVersionSyncWorkerThread.java:78)
      在de.hybris.platform.core.threadregistry.RegistrableThread.run(RegistrableThread.java:134)

  

该PK属于 ItemSyncTimestamp ",它可能与 https://answers.sap.com/questions/12756348/view.html

你们当中有人知道为什么会这样吗?

谢谢。

付费偷看设置
发送
7条回答
Bunny_CDM
1楼 · 2020-09-09 00:04.采纳回答

有效! 我们使用了这一方面:

  @Aspect
  公共类CatalogSyncFixAspect
  {
      私有静态最终Logger LOG = Logger.getLogger(CatalogSyncFixAspect.class);
 
      @Pointcut("执行(私有* de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.preProcessMultiValuedProductFeatues(..))")
      公共无效invokeMethod()
      {
      }
 
      @Around(" invokeMethod()")
      公共对象方法(最终ProceedingJoinPoint pjp)抛出Throwable
      {
          如果(LOG.isDebugEnabled())
          {
              LOG.debug("防止删除多值ProductFeatures ...");
          }
 
          返回null;
      }
  }
 
  

这只是防止多值ProductFeatures在同步之前被删除。 据我们所知,同步现在可以正常工作了! 在在线版本中,将添加新条目,并删除已删除的条目。 我真的不知道SAP必须在此修复什么... arg ....

木偶小白
2楼-- · 2020-09-09 00:02

您是否需要配置任何内容(而不是OOTB)才能使其正常工作? 例如 AspectJ还是Tomcat配置?

N-Moskvin
3楼-- · 2020-09-09 00:01
代楠1984
4楼-- · 2020-09-09 00:04

您好,在添加了完整内容的帖子中,您可以帮我吗?

My梦
5楼-- · 2020-09-09 00:06

只是一个想法,但您是否尝试过>更新>补丁

目录-catalogSystemSetup#patchOldSyncTimestamps

目录-catalogSystemSetup#patchObsoleteAttributes

小熊yu生菜
6楼-- · 2020-09-09 00:24

谢谢,我将尝试一下。 虽然如此,我认为这无济于事。 即使当我手动删除所有时间戳时,也会发生相同的异常:-\

更新:不幸的是,这没有帮助。 但是也许我走得更远。 同步转储行如下所示:

  8796106391553; 8796246540289; 8796252832363;功能;; false
 
  

这可能意味着"功能"属性无法正确同步

槿木_熙
7楼-- · 2020-09-09 00:23

我在6.6版本中也遇到了同样的问题。

到目前为止,没有解决方案。

混合票证: https://jira.hybris.com/browse/ECP-3322