SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 55325: Executing more than one communication in SAS® Customer Intelligence might fail with a java.util.ConcurrentModificationException

DetailsHotfixAboutRate It

Scheduling more than one communication sequentially in SAS Customer Intelligence within the same campaign might fail with a java.util.ConcurrentModificationException.

The following warning message occurs in the SASCustIntelCore.log:

2014-10-29 14:03:04,258 WARN [d9661ad78128d1bd:30250039:1495b008f15:5cc6] [campaign] [d9661ad78128d1bd:ae3874d:1495bd6b766:-67d7] Campaignxxxx generated an exception while being saved, restoring 'modified' state java.util.ConcurrentModificationException at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372) at java.util.AbstractList$Itr.next(AbstractList.java:343) at EDU.oswego.cs.dl.util.concurrent.SyncCollection$SyncCollectionIterator.next(SyncCollection.java:483) at com.sas.services.information.InformationService.metadataChange(InformationService.java:4189) at com.sas.services.information.InformationServiceProxy.metadataChange(InformationServiceProxy.java:1888) at com.sas.services.information.DAVRepository.updateEntity(DAVRepository.java:2702) at com.sas.services.information.metadata.dav.DAVEntity.commitUpdates(DAVEntity.java:558) at com.sas.services.information.metadata.dav.DAVEntity.update(DAVEntity.java:570) at com.sas.services.information.metadata.Metadata.update(Metadata.java:1015) at com.sas.analytics.crm.persistence.objects.IODavUtil.persistByteArraytoDav(IODavUtil.java:124) at com.sas.analytics.crm.persistence.objects.IODavUtil.persistByteArraytoDav(IODavUtil.java:115) at com.sas.analytics.crm.persistence.objects.IODavUtil.persistMAPOtoDav(IODavUtil.java:161) at com.sas.analytics.crm.persistence.objects.MAPO.save(MAPO.java:189) at com.sas.analytics.crm.persistence.metadata.MASmartObjectIO.updateDavContent(MASmartObjectIO.java:1004) at com.sas.analytics.crm.persistence.metadata.MAFlowIO.updateDavContent(MAFlowIO.java:382) at com.sas.analytics.crm.persistence.metadata.MASmartObjectIO.saveObject(MASmartObjectIO.java:230) at com.sas.analytics.crm.persistence.metadata.MAFlowIO.saveObject(MAFlowIO.java:1649) at com.sas.analytics.crm.persistencemanagers.MAPersistenceManager.saveObject(MAPersistenceManager.java:372) at com.sas.analytics.crm.cm.Campaign.doSaveCampaign(Campaign.java:2735) at com.sas.analytics.crm.cm.Campaign.saveCampaign(Campaign.java:1592) at com.sas.analytics.crm.cm.Campaign.saveCampaign(Campaign.java:1576) at com.sas.analytics.crm.cm.Campaign.saveCampaign(Campaign.java:1559) at com.sas.analytics.crm.cm.Campaign.publishForExecution(Campaign.java:2232) at com.sas.analytics.crm.cm.Campaign.executeCommunication(Campaign.java:1241) at com.sas.analytics.crm.cm.Campaign.executeCommunication(Campaign.java:1191) at com.sas.analytics.crm.flow.ForkCampCommExecution.run(ForkCampCommExecution.java:90) at com.sas.analytics.crm.security.SecurityExecutorServiceImpl$WrappedRunnable.run(SecurityExecutorServiceImpl.java:61) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662

When you execute the communications manually after the error message was detected, the communications will complete successfully.

The exception is intermittent.

To work around this problem, schedule the communications sequentially, with one minute between each execution.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Marketing AutomationMicrosoft® Windows® for x646.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows 8 Enterprise 32-bit6.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows 8 Enterprise x646.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows 8 Pro 32-bit6.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows 8 Pro x646.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows 8.1 Enterprise 32-bit6.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows 8.1 Enterprise x646.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows 8.1 Pro6.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows 8.1 Pro 32-bit6.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows Server 20086.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows Server 2008 R26.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows Server 2008 for x646.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows Server 2012 Datacenter6.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows Server 2012 R2 Datacenter6.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows Server 2012 R2 Std6.1_M16.59.3 TS1M29.4 TS1M3
Microsoft Windows Server 2012 Std6.1_M16.59.3 TS1M29.4 TS1M3
Windows 7 Enterprise 32 bit6.1_M16.59.3 TS1M29.4 TS1M3
Windows 7 Enterprise x646.1_M16.59.3 TS1M29.4 TS1M3
Windows 7 Home Premium 32 bit6.1_M16.59.3 TS1M29.4 TS1M3
Windows 7 Home Premium x646.1_M16.59.3 TS1M29.4 TS1M3
Windows 7 Professional 32 bit6.1_M16.59.3 TS1M29.4 TS1M3
Windows 7 Professional x646.1_M16.59.3 TS1M29.4 TS1M3
Windows 7 Ultimate 32 bit6.1_M16.59.3 TS1M29.4 TS1M3
Windows 7 Ultimate x646.1_M16.59.3 TS1M29.4 TS1M3
64-bit Enabled AIX6.1_M16.59.3 TS1M29.4 TS1M3
64-bit Enabled Solaris6.1_M16.59.3 TS1M29.4 TS1M3
HP-UX IPF6.1_M16.59.3 TS1M29.4 TS1M3
Linux for x646.1_M16.59.3 TS1M29.4 TS1M3
Solaris for x646.1_M16.59.3 TS1M29.4 TS1M3
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.