Import Records event is throwing a java.util.ConcurrentModificationException on a cluster environment and no duplicate data in the data file to load.
book
Article ID: KB0090433
calendar_today
Updated On:
Products
Versions
TIBCO Collaborative Information Manager
-
Not Applicable
-
Description
Resolution:
Description: ============ Import Records event is throwing a java.util.ConcurrentModificationException on a cluster environment while having no duplicate data in the data source loaded.
Environment: =========== TIBCO Collaborative Information Manager(CIM) 8.2.1
Symptoms: ======== 2012-08-24 10:26:50,956 [TIBCO EMS Session Dispatcher (51543)] DEBUG com.tibco.mdm.workflow.engine.activities.AsyncCatalogImportRecords - <MqException: BEGIN> Code: ERROR ID: 0AFEE26B_8A7E62EB39554988013959073F630F36 DATETIME: Fri Aug 24 10:26:50 EDT 2012 EXCEPTIONMESSAGE: java.util.ConcurrentModificationException STACKTRACE: java.util.ConcurrentModificationException at java.util.HashMap$AbstractMapIterator.checkConcurrentMod(HashMap.java:122) at java.util.HashMap$AbstractMapIterator.makeNext(HashMap.java:127) at java.util.HashMap$EntryIterator.next(HashMap.java:188) at java.util.HashMap$EntryIterator.next(HashMap.java:181) at java.util.HashMap.writeObject(HashMap.java:841) at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:600) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1004) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1470) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1401) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1159) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1401) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1159) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:332) at com.tibco.mdm.infrastructure.cache.CacheUtil.writeObject(CacheUtil.java:186) at com.tibco.mdm.repository.maps.CatalogInputMap.writeExternal(CatalogInputMap.java:1245) at com.tibco.mdm.infrastructure.cache.as.ExternalizableTupleCreateCommand.createTuple(ExternalizableTupleCreateCommand.java:25) at com.tibco.mdm.infrastructure.cache.MqCacheManagerActiveSpaces.putAll(MqCacheManagerActiveSpaces.java:1392) at com.tibco.mdm.session.repository.maps.CatalogInputMapCacheHelper.addLatestCatalogInputMapToCache(CatalogInputMapCacheHelper.java:126) at com.tibco.mdm.session.repository.maps.CatalogInputMapSsnBean.getCatalogInputMap(CatalogInputMapSsnBean.java:574) at com.tibco.mdm.session.repository.maps.CatalogInputMapBusinessDelegate.getCatalogInputMap(CatalogInputMapBusinessDelegate.java:86) at com.tibco.mdm.workflow.engine.activities.MqActivityInstImportCatalogRecordsHelper.importAllRecords(MqActivityInstImportCatalogRecordsHelper.java:1460) at com.tibco.mdm.session.repository.core.CatalogProcessorSsnBean.importRecords(CatalogProcessorSsnBean.java:3510) at com.tibco.mdm.session.repository.core.EJSRemoteStatelessCatalogProcessorSsn_a56c0ff9.importRecords(Unknown Source) at com.tibco.mdm.session.repository.core._CatalogProcessorSsnRemote_Stub.importRecords(_CatalogProcessorSsnRemote_Stub.java:1254) at com.tibco.mdm.session.repository.core.CatalogProcessorBusinessDelegate.importRecords(CatalogProcessorBusinessDelegate.java:294) at com.tibco.mdm.workflow.engine.activities.MqActivityInstImportCatalogRecordsHelper.importAllDataAsync(MqActivityInstImportCatalogRecordsHelper.java:1364) at com.tibco.mdm.workflow.engine.activities.AsyncCatalogImportRecords.process(AsyncCatalogImportRecords.java:199) at com.tibco.mdm.workflow.engine.activities.AsyncCatalogImportRecords.onAsyncCall(AsyncCatalogImportRecords.java:165) at com.tibco.mdm.integration.messaging.AsyncCallMessageListener.onMessage(AsyncCallMessageListener.java:56) at com.tibco.mdm.integration.messaging.message.MqNativeMessageListener.onMessage(MqNativeMessageListener.java:93) at com.tibco.tibjms.TibjmsxSessionImp._submit(TibjmsxSessionImp.java:4165) at com.tibco.tibjms.TibjmsxSessionImp._dispatchAsyncMessage(TibjmsxSessionImp.java:2267) at com.tibco.tibjms.TibjmsxSessionImp$Dispatcher.run(TibjmsxSessionImp.java:3689) ERRORMESSAGE: Import Catalog Product failed:ERROR: java.util.ConcurrentModificationException
Cause: ===== Multiple nodes trying to modify the same tuple.
Resolution: ========== Change the following in CacheConfig.xml in $MQ_HOME/config directory for CATALOGINPUTMAP