SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 61576: Optimizing MOMA input data fails and generates the error "Not able to optimize the campaign group" in SAS® Customer Intelligence Studio

DetailsHotfixAboutRate It

When you optimize MOMA input data in SAS Customer Intelligence Studio, you might see the following pop-up message:

"scenario XXXXX" cannot be optimized because it is locked by user "sasdemo". Not able to optimize the campaign group.

At the same time, the following error is displayed in the SAS® Marketing Optimization middle-tier log:

2017-11-07 14:30:48,323 ERROR [tomcat-http--61] [b90367a71f8a16a8:-15919e1a:15f94a6b3ad:25e6] [XXXX] analytics.mo.storedprocess.StoredProcess -XXXX sas code mo_edit_input_data.sas failed to execute

You will also see connection-reset issues in the middle-tier logs, as shown below:

SASCustIntelCore6.x.log:

2017-11-13 11:19:11,908 DEBUG [CIAsyncExec-40] [3838538d6e36adae:-2757398:16127ce12e5:32b9] [sasdemo] om.sas.analytics.crm.cm.ProgressReporter - fireCampaignGroupProgressEvent(): Execution Progress:
Marketing Optimization creation of input data has been requested

SASMarketingOptimization6.x.log:

2017-11-13 11:19:12,195 DEBUG [tomcat-http--13] [] [] ices.impl.MarketingAutomationServiceImpl - sasdemo Starting createMOMAInputData process: Campaign Group Name=XXXX refresh=true includeAgents=false includeContactHistory=false isPrioritizationOnly=false horizon=-1 customerTableName=customer

Almost 300 seconds after the last message above, the following message is generated:

2018-11-13 11:24:11,514 DEBUG  [tomcat-http--3] [] [] ices.impl.MarketingAutomationServiceImpl - sasdemo Starting createMOMAInputData process: Campaign Group Name=XXXX refresh=true includeAgents=false includeContactHistory=false isPrioritizationOnly=false horizon=-1 customerTableName=customer

Then, another 300 seconds after the last message above, the following message is generated:

2018-11-13 11:29:14,967 DEBUG [tomcat-http--33] [] [] ices.impl.MarketingAutomationServiceImpl - sasdemo Starting createMOMAInputData process: Campaign Group Name=XXXX refresh=true includeAgents=false includeContactHistory=false isPrioritizationOnly=false horizon=-1 customerTableName=customer

You should have only one of these entries in the logs for a particular instance of generating or refreshing MOMA input data or for an optimization run for a campaign group. Once the HTTP/HTTPS time-out happens, the process is retried, which causes execution failures.

When the generation of MOMA input data fails and you submit a scenario for optimization, the following error is displayed in the SASMarketingOptimization6.x.log (middle tier):

2017-11-13 09:37:31,516 ERROR [tomcat-http--37]  [5c7e3c20f052fe52:-22df42a9:15fb47c5862:-5084] [sassched] ices.impl.MarketingAutomationServiceImpl - sasdemo Unable to submit optimization for scenario XXXX. The input data does not have a status of Uploaded. 

These errors occur when a short HTTP/HTTPS time-out is set for the middle-tier web server. In this scenario, the HTTP/HTTPS connection might time out before the operation on the SAS Marketing Optimization side is complete.

To work around this issue, you need to increase the time-out setting for the HTTP/HTTPS connection.

Click the Hot Fix tab in this note to access the hot fix for this issue.

Now that the hot fix is available, two new Java arguments are introduced that control how long and how many times the operation will retry. These new arguments have the following standard settings to complete the operation:

-sas.ci.momabridge.poll.timeout (default 60 seconds)

-sas.ci.momabridge.poll.maxloops (default 720, which means 12 hours) 

To change the default time-out setting, you need to add the following two new Java arguments to the wrapper.conf file (Microsoft Windows operating environments) or the setenv.sh file (UNIX and Linux operating environments):

-Dcom.sas.ci.momabridge.poll.timeout=60

-Dcom.sas.ci.momabridge.poll.maxloops=1440

Note: These two arguments are available only after you apply the hot fix that is found on the Hot Fix tab.

  • Under Windows, the wrapper.conf file is available in the SAS-configuration-directory\Lev1\Web\WebAppServer\SASServer6_1\conf directory. In the wrapper.conf file, add the arguments as shown below:

wrapper.java.additional.XX=-Dcom.sas.ci.momabridge.poll.timeout=60  

wrapper.java.additional.XX=-Dcom.sas.ci.momabridge.poll.maxloops=1440

Note: In the wrapper.java.additional.XX property, XX specifies the next number in the sequence that already exists in the file. Modify XX to be the next number in that sequence.

  • Under Linux and other UNIX operating environments, the setenv.sh file is located in the SAS-configuration-directory/Lev1/Web/WebAppServer/SASServer6_1/bin directory.

    Add the two arguments to the JAVA_OPTS= property, as shown below:

    JAVA_OPTS="$JAVA_OPTS -Dcom.sas.ci.momabridge.poll.timeout=60 -Dcom.sas.ci.momabridge.poll.maxloops=1440

After you add the arguments to the appropriate file for your operating system, restart the middle tier in order for the settings to take effect.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Customer Intelligence StudioMicrosoft® Windows® for x646.46.69.4 TS1M29.4 TS1M6
Microsoft Windows 8 Enterprise 32-bit6.46.69.4 TS1M29.4 TS1M6
Microsoft Windows 8 Enterprise x646.46.69.4 TS1M29.4 TS1M6
Microsoft Windows 8 Pro 32-bit6.46.69.4 TS1M29.4 TS1M6
Microsoft Windows 8 Pro x646.46.69.4 TS1M29.4 TS1M6
Microsoft Windows 8.1 Enterprise 32-bit6.46.69.4 TS1M29.4 TS1M6
Microsoft Windows 8.1 Enterprise x646.46.69.4 TS1M29.4 TS1M6
Microsoft Windows 8.1 Pro 32-bit6.46.69.4 TS1M29.4 TS1M6
Microsoft Windows 8.1 Pro x646.46.69.4 TS1M29.4 TS1M6
Microsoft Windows 106.46.69.4 TS1M29.4 TS1M6
Microsoft Windows Server 20086.46.69.4 TS1M29.4 TS1M6
Microsoft Windows Server 2008 R26.46.69.4 TS1M29.4 TS1M6
Microsoft Windows Server 2008 for x646.46.69.4 TS1M29.4 TS1M6
Microsoft Windows Server 2012 Datacenter6.46.69.4 TS1M29.4 TS1M6
Microsoft Windows Server 2012 R2 Datacenter6.46.69.4 TS1M29.4 TS1M6
Microsoft Windows Server 2012 R2 Std6.46.69.4 TS1M29.4 TS1M6
Microsoft Windows Server 2012 Std6.46.69.4 TS1M29.4 TS1M6
Windows 7 Enterprise 32 bit6.46.69.4 TS1M29.4 TS1M6
Windows 7 Enterprise x646.46.69.4 TS1M29.4 TS1M6
Windows 7 Home Premium 32 bit6.46.69.4 TS1M29.4 TS1M6
Windows 7 Home Premium x646.46.69.4 TS1M29.4 TS1M6
Windows 7 Professional 32 bit6.46.69.4 TS1M29.4 TS1M6
Windows 7 Professional x646.46.69.4 TS1M29.4 TS1M6
Windows 7 Ultimate 32 bit6.46.69.4 TS1M29.4 TS1M6
Windows 7 Ultimate x646.46.69.4 TS1M29.4 TS1M6
64-bit Enabled AIX6.46.69.4 TS1M29.4 TS1M6
64-bit Enabled Solaris6.46.69.4 TS1M29.4 TS1M6
HP-UX IPF6.46.69.4 TS1M29.4 TS1M6
Linux for x646.46.69.4 TS1M29.4 TS1M6
Solaris for x646.46.69.4 TS1M29.4 TS1M6
* 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.