Don't miss out Virtual Happy Hour this Friday (April 26).

Try our conversational search powered by Generative AI!

NotificationDispatcherJob generates log warnings due to missing type

Fixed in

EPiServer.CMS.Core 9.8.3

(Or a related package)

Created

Apr 21, 2016

Updated

May 02, 2016

Area

CMS Core

State

Closed, Fixed and tested


Description

  1. Install a version prior to 9.8.0.
  2. Set "Notification Dispatcher" to run ever minute.
  3. Upgrade to latest version.
  4. Notice errors in the logs:

2016-04-21 02:02:35,362 ERROR EPiServer.DataAbstraction.ScheduledJob: Failed to load type 'EPiServer.Notification.NotificationDispatcherJob' from assembly 'EPiServer' to remove this job permanent remove the contents of tblScheduledItemLog and tblScheduledItem for the job with jobId ='9fddf6f2-30a5-4835-8fa2-4b5c09b2efe7' from the database
System.TypeLoadException: Could not load type 'EPiServer.Notification.NotificationDispatcherJob' from assembly 'EPiServer, Version=9.8.1.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7'.
at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at EPiServer.DataAbstraction.ScheduledJob.InternalExec(Boolean startThread)
System.TypeLoadException: Could not load type 'EPiServer.Notification.NotificationDispatcherJob' from assembly 'EPiServer, Version=9.8.1.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7'.
at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at EPiServer.DataAbstraction.ScheduledJob.InternalExec(Boolean startThread)

Workaround: Run the following SQL:

DECLARE @OldId UNIQUEIDENTIFIER
SET @OldId  = (SELECT pkID FROM tblScheduledItem WHERE TypeName = 'EPiServer.Notification.NotificationDispatcherJob')
IF NOT @OldId IS NULL
BEGIN
PRINT 'Removing duplicate'
DELETE FROM tblScheduledItemLog WHERE fkScheduledItemId = @OldId
DELETE FROM tblScheduledItem WHERE pkID = @OldId
END