DNN Forums

Ask questions about your website to get help learning DNN and help resolve issues.

Messaging Scheduler Message Dispatch issue

Sort:
You are not authorized to post a reply.





New Around Here





    Too many messages did not get sent by the messaging scheduler; it sometimes succeeded and many times failed!

    I found too many records in [CoreMessaging_MessageRecipients] table that weren't get sent by the scheduler

    Here is the query that I used to get them

    [select * from CoreMessaging_MessageRecipients where EmailSent = 0]

    I found some error logs from the admin logs viewer https://prnt.sc/4rpQ_5P7PNZx

    After checking the [ScheduleHistory] table, I found this error logged too many times:

    <br>Messaging Scheduler Failed: System.Data.SqlClient.SqlException (0x80131904): Snapshot isolation transaction aborted due to update conflict. You cannot use snapshot isolation to access table 'dbo.CoreMessaging_MessageRecipients' directly or indirectly in database 'YogaAlliance' to update, delete, or insert the row that has been modified or deleted by another transaction. Retry the transaction or change the isolation level for the update/delete statement.     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, Boolean shouldCacheForAlwaysEncrypted)     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 DotNetNuke.Data.PetaPoco.PetaPocoExt.ExecuteReader(Database database, String sql, Object[] args)     at DotNetNuke.Data.PetaPoco.PetaPocoHelper.ExecuteReader(String connectionString, CommandType type, Int32 timeoutSec, String sql, Object[] args)     at DotNetNuke.Data.SqlDatabaseConnectionProvider.ExecuteReader(String connectionString, CommandType commandType, Int32 commandTimeout, String procedureName, Object[] commandParameters)     at DotNetNuke.Data.SqlDataProvider.ExecuteReader(String procedureName, Object[] commandParameters)     at DotNetNuke.Services.Social.Messaging.Data.DataService.GetNextMessagesForInstantDispatch(Guid schedulerInstance, Int32 batchSize)     at DotNetNuke.Services.Social.Messaging.Internal.InternalMessagingControllerImpl.GetNextMessagesForInstantDispatch(Guid schedulerInstance, Int32 batchSize)     at DotNetNuke.Services.Social.Messaging.Scheduler.CoreMessagingScheduler.HandleInstantMessages(Guid schedulerInstance)     at DotNetNuke.Services.Social.Messaging.Scheduler.CoreMessagingScheduler.DoWork()  ClientConnectionId:4b99fe8b-a371-4996-bd86-66403c0272c8  Error Number:3960,State:3,Class:16

    Anyone can help?






    Veteran Member





      Hello...

      This sounds like you might need to do some database maintenance.  If this is true, then you'll need to come up with and begin implementing a data retention plan that will allow you to delete the older data so you can effectively troubleshoot this.  If nothing else, it will rule out any performance- and resource-based issues so you can continue to find the true root cause.  

      You are not authorized to post a reply.

      These Forums are dedicated to the discussion of DNN Platform.

      For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

      1. If you have (suspected) security issues, please DO NOT post them in the forums but instead follow the official DNN security policy
      2. No Advertising. This includes the promotion of commercial and non-commercial products or services which are not directly related to DNN.
      3. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
      4. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
      5. No Flaming or Trolling.
      6. No Profanity, Racism, or Prejudice.
      7. Site Moderators have the final word on approving / removing a thread or post or comment.
      8. English language posting only, please.

      Would you like to help us?

      Awesome! Simply post in the forums using the link below and we'll get you started.

      Get Involved