cancel
Showing results for 
Search instead for 
Did you mean: 

1808: catalog sync throws "item 8797713957483 no longer valid (was removed): object no longer valid"

Former Member
0 Kudos

Hi guys,

I'm upgrading from 6.5 to 1808 and have a very strange synchronization problem - on a newly initialized system. A lot of products (and also cms items) can't be synchronized because of this error:

 ERROR [AbstractItemCopyContext:80] error setting partOf attribute features : item 8797713957483 no longer     valid (was removed): object no longer valid
 item 8797713957483 no longer valid (was removed): object no longer valid
     at de.hybris.platform.jalo.Item$CachedGetter.get(Item.java:696)
     at de.hybris.platform.jalo.ExtensibleItem.getProperty(ExtensibleItem.java:363)
 at de.hybris.platform.catalog.jalo.GeneratedItemSyncTimestamp.getPendingAttributesOwnerJob(    GeneratedItemSyncTimestamp.java:247)
 at de.hybris.platform.catalog.jalo.GeneratedItemSyncTimestamp.getPendingAttributesOwnerJob(    GeneratedItemSyncTimestamp.java:256)
 at de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext$ItemCopyCacheEntry.isProcessed    InTurn(GenericCatalogCopyContext.java:2543)
 at de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(    GenericCatalogCopyContext.java:2287)
 at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncCopyContext.copy(    CatalogVersionSyncCopyContext.java:533)
 at de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(    GenericCatalogCopyContext.java:2250)
 at de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copyPartOfValues(    GenericCatalogCopyContext.java:1891)
 at de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.translate(    GenericCatalogCopyContext.java:424)
     at de.hybris.platform.catalog.jalo.synchronization.AttributeCopyCreator.copy(AttributeCopyCreator.java:125)
 at de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.setReferenceAttributesWaitingOnDelay(    ItemCopyCreator.java:712)
 at de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.setPartOfReferences(    ItemCopyCreator.java:689)
     at de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.doCopy(ItemCopyCreator.java:440)
     at de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.access$3(ItemCopyCreator.java:426)
     at de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator$2.execute(ItemCopyCreator.java:401)
     at de.hybris.platform.tx.Transaction.execute(Transaction.java:1192)
     at de.hybris.platform.tx.Transaction.execute(Transaction.java:1157)
     at de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.doCopyInTx(ItemCopyCreator.java:394)
     at de.hybris.platform.catalog.jalo.synchronization.ItemCopyCreator.copy(ItemCopyCreator.java:245)
 at de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(    GenericCatalogCopyContext.java:2320)
 at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncCopyContext.copy(    CatalogVersionSyncCopyContext.java:533)
 at de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.copy(    GenericCatalogCopyContext.java:2245)
 at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker.copyItem(    CatalogVersionSyncWorker.java:188)
 at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker.doSynchronization(    CatalogVersionSyncWorker.java:159)
 at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker$1.run(    CatalogVersionSyncWorker.java:122)
 at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncMaster.runExclusiveIfNecessary(    CatalogVersionSyncMaster.java:307)
 at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorker.run(    CatalogVersionSyncWorker.java:95)
     at java.lang.Thread.run(Thread.java:748)
     at de.hybris.platform.core.threadregistry.RegistrableThread.internalRun(RegistrableThread.java:144)
 at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorkerThread.internalRun(    CatalogVersionSyncWorkerThread.java:78)
     at de.hybris.platform.core.threadregistry.RegistrableThread.run(RegistrableThread.java:134)

The PK belongs to an ItemSyncTimestamp" It might be the same problem as https://answers.sap.com/questions/12756348/view.html.

Does anyone of you have a clue why this happens?

Thanks in advance.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

It works! We used this aspect:

 @Aspect
 public class CatalogSyncFixAspect
 {
     private static final Logger LOG = Logger.getLogger(CatalogSyncFixAspect.class);
 
     @Pointcut("execution(private * de.hybris.platform.catalog.jalo.synchronization.GenericCatalogCopyContext.preProcessMultiValuedProductFeatues(..))")
     public void invokeMethod()
     {
     }
 
     @Around("invokeMethod()")
     public Object method(final ProceedingJoinPoint pjp) throws Throwable
     {
         if (LOG.isDebugEnabled())
         {
             LOG.debug("Preventing removal of multivalued ProductFeatures ...");
         }
 
         return null;
     }
 }
 

This just prevents the multivalued ProductFeatures from being removed before being synced. As far as we can tell, sync now works correctly! New entries are added and removed ones are removed too in the Online version. I really don't know what SAP had to fix there ... arg....

0 Kudos

This is the related bug which is supposed to "fixed" with this: https://jira.hybris.com/browse/ECP-2451

Former Member
0 Kudos

We use 1808.4 and this still doesn't seem to work!

0 Kudos

It is also not fixed in 1811.

Former Member
0 Kudos

Damn SAP, you should take fixing bugs way more seriously!

geffchang
Active Contributor
0 Kudos

Did you have to configure anything (not OOTB) to get this to work? e.g. AspectJ or Tomcat configuration?

Answers (3)

Answers (3)

paulosantoos
Explorer
0 Kudos

I'm facing this same problem in the 6.6 version.

No solution worked until now.

Hybris ticket: https://jira.hybris.com/browse/ECP-3322

Former Member
0 Kudos
Former Member
0 Kudos

Thanks this is the solution. I added a post with a complete aspect (couldn't post it as comment ...)

Former Member
0 Kudos

Hi can you please help me with the post where you have added the complete aspect?

arthurjs2
Explorer
0 Kudos

Just an idea but have you tried in hac > update > patches

catalog - catalogSystemSetup#patchOldSyncTimestamps

catalog - catalogSystemSetup#patchObsoleteAttributes

Former Member
0 Kudos

Thanks, I'll give it a try. Altough I think it won't help. Even when I manually delete all timestamps, the same exceptions occur 😕

UPDATE: unfortunately that didn't help. But maybe I got a little further. The sync dump lines look like this:

 8796106391553;8796246540289;8796252832363;features;;false
 

This probably means, that the "features" property couldn ot be synced correctly