Problem Note 37076: Price approvals fail when running with concurrent users
When you are using SAS® Regular Price Optimization with multiple concurrent users, price approvals might fail. The following error might be reported in the SAS® Merchandise Intelligence middle-tier application log:
2009-06-17 07:53:47,821 [RMI TCP Connection(69)-10.12.11.22] ERROR
com.sas.solutions.di.server - We could not recover after a
deadlock/outOfConnections after 10 attempts.
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sas.solutions.di.server.Server.privateInvoke(Server.java:347)
at com.sas.solutions.di.server.Server.invoke(Server.java:316)
at $Proxy0.invoke(Unknown Source)
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java
:1399)
at
javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:
82)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnect
ionImpl.java:1246)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectio
nImpl.java:1340)
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:783)
at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: javax.management.RuntimeMBeanException: RuntimeException thrown in
operation savePlanMemberSummaries
at
com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:42
4)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:228)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerI
nterceptor.java:822)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792)
... 22 more
Caused by: org.hibernate.exception.LockAcquisitionException: could not execute
query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:82)
at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
at
com.sas.solutions.di.server.rpo.RPOPlanningService.getNextApprovedPlanMembers(RP
OPlanningService.java:5941)
at
com.sas.solutions.di.server.rpo.RPOPlanningService.getNextApprovedPlanMembers(RP
OPlanningService.java:5995)
at
com.sas.solutions.di.server.rpo.RPOPlanningService.validatePlanMembersForApprova
l(RPOPlanningService.java:5757)
at
com.sas.solutions.di.server.rpo.RPOPlanningService.savePlanMembers(RPOPlanningSe
rvice.java:456)
at
com.sas.solutions.di.server.rpo.RPOPlanningService.savePlanMemberSummaries(RPOPl
anningService.java:366)
at sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:41
0)
... 25 more
Caused by: com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -911,
SQLSTATE: 40001, SQLERRMC: 2
at com.ibm.db2.jcc.a.zc.b(zc.java:3190)
at com.ibm.db2.jcc.c.kb.i(kb.java:231)
at com.ibm.db2.jcc.c.kb.a(kb.java:187)
at com.ibm.db2.jcc.c.kb.a(kb.java:35)
at com.ibm.db2.jcc.c.x.a(x.java:30)
at com.ibm.db2.jcc.c.j.Fb(j.java:331)
at com.ibm.db2.jcc.a.zc.R(zc.java:3033)
at com.ibm.db2.jcc.c.d.f(d.java:1041)
at com.ibm.db2.jcc.a.s.a(s.java:189)
at com.ibm.db2.jcc.a.zc.c(zc.java:311)
at com.ibm.db2.jcc.a.zc.next(zc.java:283)
at
org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:168)
at org.hibernate.loader.Loader.doQuery(Loader.java:697)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:2
36)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
... 40 more
2009-06-17 07:53:47,836 [RMI TCP Connection(69)-10.12.11.22] ERROR
com.sas.solutions.di.server - Exception thrown during the invocation of method
com.sas.solutions.di.server.rpo.RPOPlanningService.savePlanMemberSummaries.
org.hibernate.exception.LockAcquisitionException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:82)
at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
at
com.sas.solutions.di.server.rpo.RPOPlanningService.getNextApprovedPlanMembers(RP
OPlanningService.java:5941)
at
com.sas.solutions.di.server.rpo.RPOPlanningService.getNextApprovedPlanMembers(RP
OPlanningService.java:5995)
at
com.sas.solutions.di.server.rpo.RPOPlanningService.validatePlanMembersForApprova
l(RPOPlanningService.java:5757)
at
com.sas.solutions.di.server.rpo.RPOPlanningService.savePlanMembers(RPOPlanningSe
rvice.java:456)
at
com.sas.solutions.di.server.rpo.RPOPlanningService.savePlanMemberSummaries(RPOPl
anningService.java:366)
at sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:41
0)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:228)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerI
nterceptor.java:822)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792)
at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sas.solutions.di.server.Server.privateInvoke(Server.java:347)
at com.sas.solutions.di.server.Server.invoke(Server.java:316)
at $Proxy0.invoke(Unknown Source)
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java
:1399)
at
javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:
82)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnect
ionImpl.java:1246)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectio
nImpl.java:1340)
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:783)
at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -911,
SQLSTATE: 40001, SQLERRMC: 2
at com.ibm.db2.jcc.a.zc.b(zc.java:3190)
at com.ibm.db2.jcc.c.kb.i(kb.java:231)
at com.ibm.db2.jcc.c.kb.a(kb.java:187)
at com.ibm.db2.jcc.c.kb.a(kb.java:35)
at com.ibm.db2.jcc.c.x.a(x.java:30)
at com.ibm.db2.jcc.c.j.Fb(j.java:331)
at com.ibm.db2.jcc.a.zc.R(zc.java:3033)
at com.ibm.db2.jcc.c.d.f(d.java:1041)
at com.ibm.db2.jcc.a.s.a(s.java:189)
at com.ibm.db2.jcc.a.zc.c(zc.java:311)
at com.ibm.db2.jcc.a.zc.next(zc.java:283)
at
org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:168)
at org.hibernate.loader.Loader.doQuery(Loader.java:697)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:2
36)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
... 40 more
The problem is the result of the batch job (which saves changes from the plan member summary view) taking too long in a concurrent user environment. This results in a long database transaction that will cause subsequent queries to timeout and fail.
There is no workaround for this issue.
Select the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SAS System | SAS Regular Price Optimization | Microsoft Windows 2000 Advanced Server | 3.2 | | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Datacenter Server | 3.2 | | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Server | 3.2 | | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Professional | 3.2 | | 9.1 TS1M3 SP4 | |
Microsoft Windows NT Workstation | 3.2 | | 9.1 TS1M3 SP4 | |
Microsoft Windows Server 2003 Datacenter Edition | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
Microsoft Windows Server 2003 Enterprise Edition | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
Microsoft Windows Server 2003 Standard Edition | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
Microsoft Windows Server 2008 | 3.2 | | 9.1 TS1M3 SP4 | |
Microsoft Windows XP Professional | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
Windows Vista | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
64-bit Enabled AIX | 3.2 | 4.2 | 9.1 TS1M3 SP4 | 9.2 TS2M0 |
*
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.
Type: | Problem Note |
Priority: | alert |
Date Modified: | 2009-09-03 15:52:10 |
Date Created: | 2009-09-03 10:05:36 |