Under some circumstances, background session IDs might become lost. This might happen when you execute campaign groups either via SAS® Marketing Automation Launcher (sasmalauncher) or when you click Execute Now in SAS Customer Intelligence Studio. This problem might also happen when you leave SAS Customer Intelligence Studio sessions open for a long amount of time with no interaction.
When this problem occurs, the following message appears in the SASCustIntlCore6.x log:
2015-11-06 13:55:56,534 DEBUG [CITaskCleanup-7] [] [] m.security.ejb.PerUserSessionSIDProvider
- Decrementing counter on PerUserSessionSID: b75836b40a5f4341:56b91ce5:150dc98a03a:40f4
2015-11-06 13:55:56,534 DEBUG [CITaskCleanup-7] [] [] analytics.crm.security.ejb.MASessionCache
- Decremented session counter for session ID: b75836b40a5f4341:56b91ce5:150dc98a03a:40f4 - 1 -> 0
2015-11-06 13:56:00,190 INFO [CIAsyncExec-366] [b75836b40a5f4341:56b91ce5:150dc98a03a:40f4]
[B51314] analytics.crm.security.ejb.MASessionCache - Releasing session for user user-ID, loginId=user-ID, authDomain=DefaultAuth
2015-11-06 13:56:00,191 DEBUG [CIAsyncExec-366] [b75836b40a5f4341:56b91ce5:150dc98a03a:40f4]
[user-ID] com.sas.analytics.crm.ma.ejb.MAConfigBean - Releasing all Flows associated with session b75836b40a5f4341:56b91ce5:150dc98a03a:40f4
In addition, the following error appears later in the SASCustIntelCore6.x log:
2015-11-06 13:59:08,745 ERROR [CIAsyncExec-363] [b75836b40a5f4341:56b91ce5:150dc98a03a:61b] [user-ID]
.analytics.crm.cm.ejb.OptimizationHelper - Exception occurred in createOptimizationInputData() - errorMsg="session,
id=b75836b40a5f4341:56b91ce5:150dc98a03a:40f4"
com.sas.analytics.crm.error.client.UserException: session, id=b75836b40a5f4341:56b91ce5:150dc98a03a:40f4
at com.sas.analytics.crm.security.ejb.MASessionCache.getSession(MASessionCache.java:551)
at com.sas.analytics.crm.security.ejb.MASessionHelper.getMASession(MASessionHelper.java:46)
at com.sas.analytics.crm.custdata.datapattern.TaskDPVarProvider.<init>(TaskDPVarProvider.java:34)
at com.sas.analytics.crm.custdata.datapattern.MAQuery.setExecutionContext(MAQuery.java:1408)
You might also see this error in the SASCustIntelCore6.x log:
2016-06-21 18:10:06,287 ERROR [CIAsyncExec-5] [fedd76ed91ab3600:2d45821c:155739d3742:38fe] [user-ID]
lytics.crm.cm.ejb.CampaignGroupProxyImpl - Encountered client exception:The requested object no longer exists.
There is no solid rule with regard to when the error occurs because the background execution thread is used for all campaigns, campaign groups, and SAS Marketing Automation metadata generation. The error is completely related to timing.
As a workaround for this problem, you need to enable the following Java argument:
-Dsas.ci.ma.sharedsid.disable
When this argument is enabled, Java keeps the background session ID active.
To enable the Java argument in Microsoft Windows operating environments (where servers are started as Windows services):
- Navigate to the
SAS-configuration-directory\Lev1\Web\WebAppServer\SASServer6_1\conf directory and open the wrapper.conf file.
- Add the new argument to the wrapper.conf file, as shown below:
wrapper.java.additional.XX=-Dsas.ci.ma.sharedsid.disable
In this argument, XX represents the next number in the sequence that already exists in the file. For the new argument, modify XX to be the next number in that sequence.
To enable the argument in Linux or other UNIX operating environments:
- Navigate to the directory that contains the setenv.sh file. This file is typically located in the SAS-configuration-directory/Lev1/Web/WebAppServer/SASServer6_1/bin directory.
- Add the highlighted argument to the setenv.sh file, as shown below:
JVM_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8003,server=y,suspend=n -Xmx4096m -Xss256k -Xms1024m
-XX:PermSize=768m -XX:MaxPermSize=1280m -d64 -XX:NewRatio=8 -XX:+UseConcMarkSweepGC -XX:+UseTLAB -XX:+DisableExplicitGC
-XX:+CMSIncrementalMode -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -XX:ReservedCodeCacheSize=96m
-Djava.awt.headless=true -Dcom.sas.services.logging.disableRemoteLogging=true -Dcom.sas.log.config.ignoreContextClassLoader=true
-Dsas.svcs.http.max.connections=512 -Dsas.ci.ma.sharedsid.disable=true”
Note: This SAS Note previously advised that you use the Java argument -Dsas.ci.debug.perUserSession.forceUseSourceSession. Because of performance issues with this Java argument, SAS Technical Support now advises that you use the argument that is highlighted above instead.
- After you add the argument, restart the SASServer6_1 web application server so that the setting can take effect.>
Click the Hot Fix tab in this note to access the hot fix for this issue.
Note: After you apply the hot fix, the Java argument that you add in the workaround is no longer needed and should be disabled.
Operating System and Release Information
SAS System | SAS Customer Intelligence Core Mid-Tier | Microsoft® Windows® for x64 | 6.3 | 6.5 | | 9.4 TS1M3 |
64-bit Enabled AIX | 6.3 | 6.5 | | 9.4 TS1M3 |
64-bit Enabled Solaris | 6.3 | 6.5 | | 9.4 TS1M3 |
HP-UX IPF | 6.3 | 6.5 | | 9.4 TS1M3 |
Linux for x64 | 6.3 | 6.5 | | 9.4 TS1M3 |
Solaris for x64 | 6.3 | 6.5 | | 9.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.