Inventory import and license reconcile timeouts

Inventory import and license reconcile timeouts

Summary

A failure error occurs during the inventory import/reconcile with an error similar to the following:

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

Symptoms

The following error is shown in the log file or compliance import window when an inventory import / reconcile fails because of a timeout:
FATAL: Import failed. 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)
 at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
 at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
 at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
 at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
 at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
 at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
 at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
 at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
 at ManageSoft.Database.DatabaseCommand.ExecuteNonQuery()
 at ManageSoft.Database.Impl.DatabaseLayerBaseSql.Execute(CommandType p_CommandType, String p_CommandText, DatabaseParameter[] p_Parameters)
 at ManageSoft.Database.Impl.DatabaseLayerBase.Execute(String p_StoredProcedure, DatabaseParameter[] p_Parameters)
 at ManageSoft.Compliance.Database.Impl.Procedures.LicenseAssignmentResetToEasyLicenses()
 at ManageSoft.Compliance.Importer.Procedures.ManageSoft.LicenseReconcile.RunSQLLicenseReconcile()
 at ManageSoft.Compliance.Importer.Procedures.ManageSoft.LicenseReconcile.ReconcileLicenses()

 

Cause

By default, the compliance importer is set to run for approximately 10 minutes per procedure and the full import will run for a total of 2 hours. If there are large amounts of data to process in a particular procedure (for example, file evidence or usage data), then it can timeout and close the connection.

Resolution

You can set a manual timeout using the following process:
  • Open the registry on the FNMP server
  • On 32bit systems - Navigate to [HKLM\Software\ManageSoft Corp\ManageSoft\Compliance\CurrentVersion]
  • On 64bit systems - Navigate to [HKLM\Software\Wow6432Node\ManageSoft Corp\ManageSoft\Compliance\CurrentVersion]
  • Create the below registry key
    • Type: REG_DWORD
    • Name: CommandTimeout
    • Value: Decimal value for seconds (eg: 28800 = 8 hours)

This value can be changed as required. In relation to time, 14,400 seconds equates to 4 hours and 28,800 seconds is 8 hours, etc.
 
The next time you re-run the compliance import it will use the new timeout value.

 

Additional Information

If your FNMP server is a 64 bit OS then the registry key is [HKLM\Software\WOW6432Node\ManageSoft Corp\ManageSoft\Compliance\CurrentVersion]

Tags (1)
Was this article helpful? Yes No
100% helpful (3/3)
Comments

Hi Team, 

 

I have 28800 timer set as mentioned still facing the same error. Can we increase more the timing or is there any other way to resolve this error ? 

Please guide 

@samirdivan - increasing the timeout won't necessarily stop timeout errors from occurring. That could be because whatever process is timing out is still running longer than the timeout you have configured, or because the timeout on the particular process you're running is controlled by a different timeout setting from the setting discussed in this article.

From your description it sounds like it may be appropriate to dig into the particular process that is timing out and consider if anything can be done to make it run faster instead of just increasing the timeout setting. If some insight from other people may help you with this, feel free to post over in the FlexNet Manager forum.

@ChrisG 

 

Hi, I did try some modifications in the timeout numbers and increased to 43,200 ( 12 Hours ) & since last week its working fine with successful import and reconciliation. I guess the issue is resolved by this increased change in values for timeout but I am still monitoring on daily basis. Hope this is the solution now 

Version history
Revision #:
3 of 3
Last update:
‎Jun 25, 2020 12:44 AM
Updated by: