CompuMasterGmbH / cammIntegrationPortal

camm Integration Portal (based on camm Web-Manager)
MIT License
2 stars 1 forks source link

Deadlock situation at Log.DeleteExpiredEntries #56

Closed jochenwezel closed 6 years ago

jochenwezel commented 6 years ago

Following exception is thrown:

CompuMaster.camm.WebManager.Tools.Data.DataQuery.AnyIDataProvider+DataException:   Data layer exception ---> System.Data.SqlClient.SqlException: Die   Transaktion (Prozess-ID 59) befand sich auf Sperre Ressourcen aufgrund eines   anderen Prozesses in einer Deadlocksituation und wurde als Deadlockopfer   ausgewählt. Führen Sie die Transaktion erneut aus. 
bei System.Data.SqlClient.SqlConnection.OnError(...
bei CompuMaster.camm.WebManager.Tools.Data.DataQuery.AnyIDataProvider.ExecuteScalar(IDbCommand   dbCommand, Automations automations) in   D:\svn_repository\compumaster_products\camm\Web-Manager\libraries\base\cammWM\CommonTools\Tools.Data.vb:Zeile   317. 
--- Ende der internen Ausnahmestapelüberwachung --- 
bei   CompuMaster.camm.WebManager.Tools.Data.DataQuery.AnyIDataProvider.ExecuteScalar(IDbCommand   dbCommand, Automations automations) in   D:\svn_repository\compumaster_products\camm\Web-Manager\libraries\base\cammWM\CommonTools\Tools.Data.vb:Zeile   319. 
bei CompuMaster.camm.WebManager.Log.DeleteExpiredEntries(Int32   maxNumberOfDeletedRows) in   D:\svn_repository\compumaster_products\camm\Web-Manager\libraries\base\cammWM\WMSystem\SubClasses\log.vb:Zeile   1887. 
bei CompuMaster.camm.WebManager.Log.CleanUpLogTableInternal() in   D:\svn_repository\compumaster_products\camm\Web-Manager\libraries\base\cammWM\WMSystem\SubClasses\log.vb:Zeile   1915. 
bei CompuMaster.camm.WebManager.Log.CleanUpLogTable() in   D:\svn_repository\compumaster_products\camm\Web-Manager\libraries\base\cammWM\WMSystem\SubClasses\log.vb:Zeile   1898. 
bei   CompuMaster.camm.WebManager.WebServices.CoreWebCronJobRunner.RunCleanups() in   D:\svn_repository\compumaster_products\camm\Web-Manager\libraries\base\cammWM\WebServices\CoreWebCronJobs.vb:Zeile   256. 
bei   CompuMaster.camm.WebManager.WebServices.CoreWebCronJobRunner.ExecutePendingProcesses(DateTime   requestStartTime, Int32 maxTotalSecondsTimeout) in   D:\svn_repository\compumaster_products\camm\Web-Manager\libraries\base\cammWM\WebServices\CoreWebCronJobs.vb:Zeile   153. 

CommandText:

DELETE 
FROM [dbo].[Log] 
WHERE ID IN ( 
  SELECT TOP 500 ID 
  FROM dbo.Log 
  INNER JOIN (
      SELECT ValueInt as ConflictTypeID, ValueDecimal as RetentionDays 
      FROM dbo.System_GlobalProperties 
      WHERE PropertyName='ConflictTypeAge'
    ) AS RetentionConfig 
    ON Log.ConflictType = RetentionConfig.ConflictTypeID 
    WHERE LoginDate < DateAdd(dd, -COALESCE(RetentionDays, @DefaultRetentionDays), GETDATE()) 
  ) 
SELECT @@ROWCOUNT