Support Article
AES InsertUpdatefail Lock request time out period exceeded
SA-489
Summary
Pega administrator is seeing SQL server exceptions in the logs.
Error Messages
[ WebContainer : 5] [ STANDARD] [ AES:03.05] (Line.PegaAES_Data_Alert.Action) ERROR |<HOST>|SOAP|PegaAES|Events|logAlert|ADD21B721A60ADE596C60FB75208BBC0F - Error in commit()
com.pega.pegarules.pub.database.DatabaseException: Database-Saver-InsertUpdatefail PegaAES-Data-Alert 1222 S00056 Lock request time out period exceeded.
From: (ADD21B721A60ADE596C60FB75208BBC0F:PegaAES)
SQL: update pegaam_alert set AlertCount = ? , AllowsRuleCheckOut = ? , ClusterName = ? , CommitCount = ? , CommitElapsed = ? , ConnectClientResponseElapsed = ? , ConnectCount = ? , ConnectElapsed = ? , ConnectInMapReqElapsed = ? , ConnectOutMapReqElapsed = ? , DBInputBytes = ? , EncodedRulesetList = ? , FirstActivity = ? , GDT_Day = ? , GDT_Hour = ? , GDT_Millisecond = ? , GDT_Minute = ? , GDT_Month = ? , GDT_Second = ? , GDT_Year = ? , GeneratedDateTime = ? , IndexCount = ? , Interaction = ? , JavaAssembleCPU = ? , JavaAssembleElapsed = ? , KPIOverThreshold = ? , KPIThreshold = ? , KPIValue = ? , LastInput = ? , LastStep = ? , MsgID = ? , OperatorID = ? , OtherIOCPU = ? , OtherIOCount = ? , OtherIOElapsed = ? , ParseRuleTimeElapsed = ? , PegaThreadName = ? , ProblemCorrelation = ? , ProblemCorrelationLabel = ? , RequestorID = ? , RuleApplication = ? , RuleCPU = ? , RuleCount = ? , RuleFromCacheCount = ? , RuleIOElapsed = ? , RulesProcessingElapsed = ? , RulesUsed = ? , Scope = ? , ServerID = ? , ServiceActivityElapsed = ? , ServiceInMapReqElapsed = ? , ServiceOutMapReqElapsed = ? , TotalReqCPU = ? , TotalReqTime = ? , TraceListIndex = ? , UniqueInt = ? , Version = ? , WorkPool = ? , pxCreateDateTime = ? , pxInsName = ? , pxObjClass = ? , pyLabel = ? , pzPVStream = ? where pzInsKey = ?
SQL Inserts: <1> <N> <Test> <0> <0> <0> <1> <0.02> <0> <0> <0> <9b28b19e5b3c0614e86a95996fcf55fc> <Rule-Obj-Activity:OpenDocumentLinkForSubmitProposal> <7> <0> <599> <58> <8> <22> <2014> <2014-08-06 14:58:22.599> <0> <265> <0> <0> <308567> <307200> <615767> <Activity=OpenDocumentLinkForSubmitProposal> <MYCO- OPENDOCUMENTLINKINPOPUP #20130905T213917.174 GMT Step: 3 Circum: 0> <PEGA0029> <HM11935> <0> <0> <0> <0> <pyNS_CPMPortal3_CPMProcessThread3> <MYCO10505:Stream Response Size:6da310b2ccf8d4dc7a6acd726c3dce25> <6da310b2ccf8d4dc7a6acd726c3dce25:pxObjClass=Rule-HTML-Section;pyStreamName=DisplayMYCONewEmailDetails;> <HE7EEC2194F7CAF83310F8B524234931D> <MYCOService:01.02.01> <0> <2> <8> <0> <0.15000000000000002> <99> <<null>> <d7219b1d63bf36f261a98b3e368d42c4> <0> <0> <0> <0.16> <0.17> <83> <1283> <6> <MYCO-MYCO-Service-Work> <2014-08-06 14:58:22.628> <20140807T005822.599 GMT!D7219B1D63BF36F261A98B3E368D42C4!1283> <PegaAES-Data-Alert> <Stream Response Size> <[B@4b4f4b4f> <PEGAAES-DATA-ALERT 20140807T005822.599 GMT!D7219B1D63BF36F261A98B3E368D42C4!1283>
Secondary Exception Info: Lock request time out period exceeded.
Caused by SQL Problems.
Problem #1, SQLState S00056, Error code 1222: com.microsoft.sqlserver.jdbc.SQLServerException: Lock request time out period exceeded.
at com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:227)
at com.pega.pegarules.data.internal.access.DatabasePreparedStatementImpl.addBatch(DatabasePreparedStatementImpl.java:662)
at com.pega.pegarules.data.internal.access.Saver.saveAltOp(Saver.java:1341)
at com.pega.pegarules.data.internal.access.StatementOperationStore.performAltOps(StatementOperationStore.java:136)
at com.pega.pegarules.data.internal.access.DatabasePreparedStatementImpl.addBatch(DatabasePreparedStatementImpl.java:693)
....
Caused by:
com.microsoft.sqlserver.jdbc.SQLServerException: Lock request time out period exceeded.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:390)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:340)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
Root Cause
For SQL server, row-level locking must be the only option or row-versioning (where available) must be turned on.
Resolution
Row versioning and row-level locking needed to be enabled.
ALTER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON
Published June 12, 2015 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.