cancel
Showing results for 
Search instead for 
Did you mean: 

Object no longer valid error catalog synchro from groovy script

03-02-2023 6:55 PM
mednabli Newcomer
670 views 0 comments
0 Likes
SAP Managed Tags
Subscribe

I need to synchronize a list of items using this groovy script.

catalog="catalog"
source = catalogVersionService.getCatalogVersion(catalog,'Staged');
target = catalogVersionService.getCatalogVersion(catalog,'Online');

items = flexibleSearchService.search("query").getResult()
syncItemJob = flexibleSearchService.search("select {pk} from {CatalogVersionSyncJob} where {code} = 'sync catalog:Staged->Online'").getResult().get(0)
res = catalogSynchronizationService.performSynchronization(items, syncItemJob, syncConfig);
return res.getCronJob();<br>

in the result panel I have something like this :

CatalogVersionSyncCronJobModel (9919787635644@8)

that means the cronjob have been created and persisted. but in logs it seems that the same PK is not found. I have the following error :

Exception in thread "SyncWorker<000088B6 4 of 16>" Entity not found ( pk = 9919787635644 name = 'de.hybris.platform.persistence.processing_CronJob' type code = '501' db table = 'cronjobs'): object no longer valid<br>	at de.hybris.platform.jalo.Item.getModificationTimeFromPersistenceLayer(Item.java:1630)
	at de.hybris.platform.jalo.Item.getLocalItemCache(Item.java:1483)
	at de.hybris.platform.jalo.Item.getGetterSetterCache(Item.java:1503)
	at de.hybris.platform.jalo.Item$CacheableItemLogic.getCacheMap(Item.java:618)
	at de.hybris.platform.jalo.Item$CachedGetter.get(Item.java:753)
	at de.hybris.platform.jalo.ExtensibleItem.getProperty(ExtensibleItem.java:343)
	at de.hybris.platform.cronjob.jalo.GeneratedCronJob.getJob(GeneratedCronJob.java:981)
	at de.hybris.platform.cronjob.jalo.GeneratedCronJob.getJob(GeneratedCronJob.java:990)
	at de.hybris.platform.cronjob.jalo.CronJob.activateCronJobThreadSettings(CronJob.java:2621)
	at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorkerThread.prepareThread(CatalogVersionSyncWorkerThread.java:45)
	at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorkerThread.internalRun(CatalogVersionSyncWorkerThread.java:70)
	at de.hybris.platform.core.threadregistry.RegistrableThread.run(RegistrableThread.java:124)
Caused by: de.hybris.platform.util.jeeapi.YNoSuchEntityException: Entity not found ( pk = 8808676557301 name = 'de.hybris.platform.persistence.processing_CronJob' type code = '501' db table = 'cronjobs')
	at de.hybris.platform.persistence.GenericBMPBean.loadData(GenericBMPBean.java:258)
	at de.hybris.platform.persistence.GenericBMPBean.ejbLoad(GenericBMPBean.java:147)
	at de.hybris.platform.persistence.framework.RemoteInvocationHandler.performOutsideTx(RemoteInvocationHandler.java:193)
	at de.hybris.platform.persistence.framework.RemoteInvocationHandler.performOther(RemoteInvocationHandler.java:172)
	at de.hybris.platform.persistence.framework.RemoteInvocationHandler.invokeMethod(RemoteInvocationHandler.java:115)
	at de.hybris.platform.persistence.framework.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:53)
	at com.sun.proxy.$Proxy265.getModifiedTime(Unknown Source)
	at de.hybris.platform.persistence.ItemEJBImpl.getModificationTime(ItemEJBImpl.java:141)
	at de.hybris.platform.jalo.Item.getModificationTimeFromPersistenceLayer(Item.java:1626)

NB:
- the same script works in my local environment, but not in cloud environments.
- synchronizing items from backoffice works as well.
- if i run the cronjob 9919787635644 from backoffice, works fine

0 Likes

Accepted Solutions (0)

Answers (0)