You are viewing limited content. For full access, please sign in.

Question

Question

Increasing the Timeout Period for lookup Rules in Laserfiche Forms?

asked on July 21, 2020

Hello, 

Is there a location in the Forms Database, IIS, or any of the config files where you are able to increase the Timeout for lookup rules in Laserfiche Forms? 

We  got a Lookup Rule query which we already know will take about 2.5 minutes to run (big one) and are okay with that.  It’s returning 0 rows to the form because of a SQL Time-Out.  The Forms web server error in the event log is below.  Any idea how I can increase the timeout?

An unexpected error has occurred. [LFF502-UnexpectedError]

 

Details:

URL: /Forms/form/lookup?formId=613

Error: UnexpectedError

Date: 7/16/2020 4:32:58 PM (Central Standard Time)

HTTP Status Code: 500

Business Process ID: 0

User: USERNAME

IP: 10.1.000.000

Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36

Business Process Name:

 

Stack Trace:

Caught exception: Laserfiche.Forms.CommonUtils.Exceptions.LFFormsException

Message: An unexpected error has occurred. [LFF502-UnexpectedError]

 

 

Inner exception: System.Data.SqlClient.SqlException

Message: Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

   at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()

   at System.Data.SqlClient.SqlDataReader.get_MetaData()

   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption)

   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)

   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)

   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)

   at Laserfiche.Forms.EntityModels.Data.MSSqlDBConnector.GetStoredProcedure(String storedprocedure, List`1 parameters)

   at Laserfiche.Forms.CommonUtils.LookupServiceProvider.InternalGetLookupResult(Expression`1 ruleCondition, Dictionary`2 lookups, IEntityContext context, String LogonUserName, Boolean isDraft)

 

Inner exception: System.ComponentModel.Win32Exception

Message: The wait operation timed out

 

Any insight would be much appreciated. 

 

Thank you, 

 

 

 

 

0 0

Replies

replied on July 22, 2020

hi Jairo,

StoredProcedureTimeout option in database table cf_option is available in 10.3.1 update 2, 10.4.1 and later versions, which can configure time out for stored procedure used in lookup rule.

If you are on version that support the option, add the option with proper value should solve your problem. The unit is in second, and 0 means no timeout.

Note: Restart routing service is required after value change to make it work.

2 0
replied on February 26

What if it's not a stored procedure (i.e., query against table or view)?

1 0
You are not allowed to follow up in this post.

Sign in to reply to this post.