Support Article

There are a large number of SQL timeout errors MS/SQL

SA-21370

Summary



PegaRULES log shows a large number of SQL timeout errors.

Error Messages



2016-03-15 16:53:26,468 [your_java_thread] [TABTHREAD0] [ ] [ your_ruleset] ( rd.queryexec.SqlQueryExecutor) ERROR your_node|your_ip your_operator - An error occured on executing the query for the report definition - There was a problem getting a list: code: 0 SQLState: HY008 Message: The query has timed out.
com.pega.pegarules.pub.database.DatabaseException: There was a problem getting a list: code: 0 SQLState: HY008 Message: The query has timed out.
From: (H9DE126016FFCF343E97D473E3957338D:your_ip)
SQL: WITH your_query
SQL Inserts: your_SQL_inserts

Caused by SQL Problems.
Problem #1, SQLState HY008, Error code 0: com.microsoft.sqlserver.jdbc.SQLServerException: The query has timed out.
at com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:262)
at com.pega.pegarules.data.internal.access.DatabaseImpl.list(DatabaseImpl.java:6283)
at com.pega.pegarules.data.internal.access.DatabaseImpl.list(DatabaseImpl.java:5979)
<redacted>
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The query has timed out.
at com.microsoft.sqlserver.jdbc.TDSCommand.checkForInterrupt(IOBuffer.java:6498)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:67)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.<init>(SQLServerResultSet.java:310)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1646)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:426)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:372)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:6276)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1793)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:184)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:159)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:354)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
at com.pega.pegarules.data.internal.access.DatabasePreparedStatementImpl.execute(DatabasePreparedStatementImpl.java:581)
at com.pega.pegarules.data.internal.access.DatabaseImpl.list(DatabaseImpl.java:6202)
... 163 more
2016-03-15 16:53:26,468 [your_java_thread] [TABTHREAD0] [ ] [ your_ruleset] ( rd.queryexec.SqlQueryExecutor) ERROR your_node|your_ip your_operator - Query: WITH your_query
<redacted>


Steps to Reproduce



Not Applicable

Root Cause



A defect or configuration issue in the operating environment
The connection URL did not specify the appropriate connection parameters. In particular
sendStringParametersAsUnicode=false is required to address these timeout problems.

Resolution



Make the following change to the operating environment:

Be sure these connection parameters are set.

selectMethod=cursor;sendStringParametersAsUnicode=false

Published March 23, 2016 - Updated May 5, 2017


66% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.