Getting Errors in Optimize

Any idea why we are getting the below errors in optimize. how to resolve this…

(OPTIMIZE) [Analytic Engine v8.2.1.0.ErrorMetadataManager.UnknownKey] 2016-04-21 10:05:25.287 CEST ERROR: Error retrieving error metadata for process process: [Name: FX Rates Management, Version: 1]
(OPTIMIZE) [Analytic Engine v8.2.1.0.ErrorMetadataManager.UnknownKey] 2016-04-21 10:05:25.287 CEST ERROR: com.webmethods.bpo.database.StorageRuntimeException: Error persisting process model [pq__YaraFIPrj/FXRatesManagement_7zaf:FX Rates Management] version [1]. Root cause most likely due to two distinct models with the same process name created in Designer either by two different people, or one person with two different projects.
(OPTIMIZE) [Analytic Engine v8.2.1.0.ErrorMetadataManager.UnknownKey] 2016-04-21 10:05:25.287 CEST ERROR: at com.webmethods.bpo.process.processtracker.storage.ProcessModelStorage.insertOrUpdate(ProcessModelStorage.java:73)
(OPTIMIZE) [Analytic Engine v8.2.1.0.ErrorMetadataManager.UnknownKey] 2016-04-21 10:05:25.287 CEST ERROR: wraps: java.sql.SQLIntegrityConstraintViolationException: [SoftwareAG][Oracle JDBC Driver][Oracle]ORA-00001: unique constraint (WM7.BMPTPRCSSMT_AK1X) violated

Hi Krishna,

can you elaborate on the following error message:

Regards,
Holger

Hi Holger,

please find the complete error message…

(OPTIMIZE) [Analytic Engine v8.2.1.0.ErrorMetadataManager.UnknownKey] 2016-04-21 10:50:25.180 CEST ERROR: Error retrieving error metadata for process process: [Name: FX Rates Management, Version: 1]
(OPTIMIZE) [Analytic Engine v8.2.1.0.ErrorMetadataManager.UnknownKey] 2016-04-21 10:50:25.180 CEST ERROR: com.webmethods.bpo.database.StorageRuntimeException: Error persisting process model [pq__YaraFIPrj/FXRatesManagement_7zaf:FX Rates Management] version [1]. Root cause most likely due to two distinct models with the same process name created in Designer either by two different people, or one person with two different projects.
(OPTIMIZE) [Analytic Engine v8.2.1.0.ErrorMetadataManager.UnknownKey] 2016-04-21 10:50:25.180 CEST ERROR: at com.webmethods.bpo.process.processtracker.storage.ProcessModelStorage.insertOrUpdate(ProcessModelStorage.java:73)
(OPTIMIZE) [Analytic Engine v8.2.1.0.ErrorMetadataManager.UnknownKey] 2016-04-21 10:50:25.180 CEST ERROR: wraps: java.sql.SQLIntegrityConstraintViolationException: [SoftwareAG][Oracle JDBC Driver][Oracle]ORA-00001: unique constraint (WM7.BMPTPRCSSMT_AK1X) violated

                                                                                                        at com.wm.dd.jdbc.oraclebase.ddcr.b(Unknown Source)
                                                                                                        at com.wm.dd.jdbc.oraclebase.ddcr.a(Unknown Source)
                                                                                                        at com.wm.dd.jdbc.oraclebase.ddcq.b(Unknown Source)
                                                                                                        at com.wm.dd.jdbc.oraclebase.ddcq.a(Unknown Source)
                                                                                                        at com.wm.dd.jdbc.oracle.ddam.r(Unknown Source)
                                                                                                        at com.wm.dd.jdbc.oraclebase.dde3.w(Unknown Source)
                                                                                                        at com.wm.dd.jdbc.oraclebase.dde3.y(Unknown Source)
                                                                                                        at com.wm.dd.jdbc.oraclebase.dddz.executeUpdate(Unknown Source)
                                                                                                        at com.webmethods.bpo.process.processtracker.storage.ProcessModelStorage.insertOrUpdate(ProcessModelStorage.java:62)
                                                                                                        at com.webmethods.bpo.process.processtracker.storage.ProcessModelStorage.insertOrUpdate(ProcessModelStorage.java:46)
                                                                                                        at com.webmethods.bpo.process.processtracker.ErrorMetadataManager.createProcessMeta(ErrorMetadataManager.java:386)
                                                                                                        at com.webmethods.bpo.process.processtracker.ErrorMetadataManager.getErrorMetadata(ErrorMetadataManager.java:226)
                                                                                                        at com.webmethods.bpo.process.model.container.ProcessLoader.loadErrorDefinitions(ProcessLoader.java:174)
                                                                                                        at com.webmethods.bpo.process.model.container.ProcessContainer.loadProcess(ProcessContainer.java:134)
                                                                                                        at com.webmethods.bpo.process.processtracker.model.TrackingModel.loadModel(TrackingModel.java:619)
                                                                                                        at com.webmethods.bpo.process.processtracker.model.TrackingModel.onCacheUpdate(TrackingModel.java:839)
                                                                                                        at com.webmethods.optimize.service.external.cache.AbstractCacheAdapter$ListenerAdapter.entryUpdated(AbstractCacheAdapter.java:241)
                                                                                                        at com.webmethods.sc.caching.impl.CommonCacheImpl$InternalCacheEntryListener.entryUpdated(CommonCacheImpl.java:711)
                                                                                                        at com.tangosol.util.MapEvent.dispatch(MapEvent.java:270)
                                                                                                        at com.tangosol.util.MapEvent.dispatch(MapEvent.java:226)
                                                                                                        at com.tangosol.util.MapListenerSupport.fireEvent(MapListenerSupport.java:556)
                                                                                                        at com.tangosol.coherence.component.util.SafeNamedCache.translateMapEvent(SafeNamedCache.CDB:7)
                                                                                                        at com.tangosol.coherence.component.util.SafeNamedCache.entryUpdated(SafeNamedCache.CDB:1)
                                                                                                        at com.tangosol.util.MapEvent.dispatch(MapEvent.java:270)
                                                                                                        at com.tangosol.util.MapEvent.dispatch(MapEvent.java:226)
                                                                                                        at com.tangosol.util.MapListenerSupport.fireEvent(MapListenerSupport.java:556)
                                                                                                        at com.tangosol.coherence.component.util.LocalCache$CacheHandler.translateMapEvent(LocalCache.CDB:5)
                                                                                                        at com.tangosol.coherence.component.util.LocalCache$CacheHandler.entryUpdated(LocalCache.CDB:1)
                                                                                                        at com.tangosol.util.MapEvent.dispatch(MapEvent.java:270)
                                                                                                        at com.tangosol.util.MapEvent.dispatch(MapEvent.java:226)
                                                                                                        at com.tangosol.util.MapListenerSupport.fireEvent(MapListenerSupport.java:556)
                                                                                                        at com.tangosol.net.cache.OldCache.dispatchEvent(OldCache.java:1942)
                                                                                                        at com.tangosol.net.cache.OldCache$Entry.setValue(OldCache.java:2068)
                                                                                                        at com.tangosol.net.cache.OldCache.put(OldCache.java:273)
                                                                                                        at com.tangosol.net.cache.OldCache.put(OldCache.java:234)
                                                                                                        at com.tangosol.util.WrapperObservableMap.put(WrapperObservableMap.java:132)
                                                                                                        at com.tangosol.util.WrapperConcurrentMap.put(WrapperConcurrentMap.java:271)
                                                                                                        at com.tangosol.coherence.component.util.jb_ConcurrentMap.super$put(ConcurrentMap.CDB:1)
                                                                                                        at com.tangosol.coherence.component.util.sink_ConcurrentMap.put(ConcurrentMap.CDB:1)
                                                                                                        at com.tangosol.coherence.component.util.ConcurrentMap.put(ConcurrentMap.CDB:1)
                                                                                                        at com.tangosol.coherence.component.util.SafeNamedCache.put(SafeNamedCache.CDB:1)
                                                                                                        at com.webmethods.sc.caching.impl.CommonCacheImpl.put(CommonCacheImpl.java:313)
                                                                                                        at com.webmethods.optimize.service.external.cache.AbstractCacheAdapter.add(AbstractCacheAdapter.java:64)
                                                                                                        at com.webmethods.bpo.process.processtracker.model.TrackingModel.triggerRefresh(TrackingModel.java:725)
                                                                                                        at com.webmethods.bpo.process.processtracker.model.TrackingModel$ReloadModelTask.run(TrackingModel.java:817)
                                                                                                        at java.util.TimerThread.mainLoop(Timer.java:512)
                                                                                                        at java.util.TimerThread.run(Timer.java:462)

Hi Krishna,

as pointed out in the StackTrace and my previous post this is not an optimize issue, but happend already on the creation (build and upload) of the process models to PRT.

Can you have a look at the WMPROCESS table of your IS?

Regards,
Holger

Hi Holger,

What i need to check in the WMPROCESS table? It seems to be fine for me.

Regards,
Krishna

Hi Krishna,

can you cross check with the WMPROCESSDEFINITION table.

Additionally you will have to inspect the *.process files in your Designer and the Designer of your colleagues for duplicate ModelIds.

I never had such an issue before, sounds really strange to me.

Regards,
Holger

I have seen this problem before. It has been a couple of years but if I recall correctly, it is due to the unique constraint (BMPTPRCSSMT_AK1X) on table BAM_PT_PROCESS_META. The constraint is on columns PROCESS_NAME and PROCESS_VER. However, PROCESS_NAME is not the fully qualified name of the process model (PROCESS_EXT_ID is). In our case, the issue happened because two different developers had created processes with the same name but under different projects.

My suggestion to you: query the BAM_PT_PROCESS_META table to get an understanding of why the unique constraint is being violated. You may learn that the record that exists there is old and needs to be cleaned up, for example, by deleting the process from MWS and then redeploying the new one. Or, you may learn that the record that exists there is for a valid and active process. In that case, I would recommend renaming the process you’re attempting to deploy now. Based on the constraint, you could also simply change the process version, but it’s not as clean as renaming it.

I believe this issue has been addressed in more recent versions. When I get a chance, I’ll check that unique index on my 9.x databases and I’ll get back with you.

Percio

Thanks castro.

Let me know if you found more details on this. Even i am looking into this and will update you in case if i found something on the same.

Thanks ***