The Community is now in read-only mode to prepare for the launch of the new Flexera Community. During this time, you will be unable to register, log in, or access customer resources. Click here for more information.
This Knowledge Base article describes a product defect found in FlexNet Manager Platform 2015 R2 Service Pack 4. The issue will affect database transaction log growing to out of space issue.
For reference, the transaction log related error is:
System.Data.SqlClient.SqlException (0x80131904): The transaction log for database 'FNMSCompliance' is full due to 'LOG_BACKUP'. 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.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, 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 asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) 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.Compliance.Database.Impl.ActivityTable.AddObject(DatabaseObject p_Object, Boolean p_Resync) at ManageSoft.Database.Impl.DatabaseTableBase`2.UpdateRecurse(TTableObject p_Object, Hashtable p_UniqueTables, Boolean p_Resync) at ManageSoft.Database.Impl.DatabaseTableBase`2.Save(TTableObject p_Object) at Flexera.ActivityLogging.DBActivityWriter.WriteEventsToPersistence(IEnumerable`1 eventsToWrite, ActivityReport basicProperties) at Flexera.Common.Logging.ActivityLogging.BufferedActivityWriterBase.WriteContentsOfBuffer() ClientConnectionId:b3874555-9b5d-47ba-bff4-4218d1d2c830 Error Number:9002,State:2,Class:17
The ComplianceReader tool initiates a transaction on a separate connection, inserting a row into the DatabaseMutex_MT table and holding that transaction uncommitted until the end of tenant processing.
Since SQL Server will only allow its transaction log to be truncated up to the oldest open transaction, this causes the transaction log to continue to grow in size until it reaches its maximum or the transaction is closed (committed or rolled back). Transaction log backup can occur and will succeed, however it will not release the log size.
At times of high change throughput, the transaction log can run out of space, causing failures across FNMS as no actions can be performed on the system.
DBCC SQLPERF(LOGSPACE)
Dec 14, 2018 01:48 AM