on 10-04-2018 1:35 PM
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.
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....
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This is the related bug which is supposed to "fixed" with this: https://jira.hybris.com/browse/ECP-2451
User | Count |
---|---|
4 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.