Issue | The following exception is seen very often in the Archer JobFramework logs:
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"> <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"> <EventID>0</EventID> <Type>3</Type> <SubType Name="Error">0</SubType> <Level>2</Level> <TimeCreated SystemTime="2015-01-07T07:00:03.8762563Z" /> <Source Name="ArcherTech.Notifications" /> <Correlation ActivityID="{99b925d6-9ac2-4619-b597-1a7c78c7f10e}" /> <Execution ProcessName="ArcherTech.JobFramework.Job" ProcessID="9028" ThreadID="1" /> <AssemblyVersion>XXXXXXXXXXXX</AssemblyVersion> <Channel /> <Computer>XXXXXXXXXXXX</Computer> </System> <ApplicationData> <TraceData> <DataItem> <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord"> <TraceIdentifier>ArcherTech.Notifications</TraceIdentifier> <Description>Throwing Exception</Description> <AppDomain>ArcherTech.JobFramework.Job.exe</AppDomain> <Exception> <ExceptionType>System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> <Message>Unable to get module for the level 15.</Message> <Source>ArcherTech.Notifications</Source> <StackTrace> at ArcherTech.Notifications.Process.Validators.NotificationEnabledForLevelValidator.Validate(SessionContext sessionContext, Notification notification) at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext() at System.Linq.Enumerable.Aggregate[TSource](IEnumerable`1 source, Func`3 func) at ArcherTech.Notifications.Workflow.SendNotification.SendNotificationJobHandler.ProcessJob() </StackTrace> </Exception> </TraceRecord> </DataItem> </TraceData> </ApplicationData> </E2ETraceEvent>
The reason why "Unable to get module for the level" is being logged is because there is a permission limitation as the modules are not licensed. Although the notification is set to inactive the schedule remains in the job framework. At the scheduled time, at the start of the job, it checks active status of notification and ends job if notification is inactive. But as the modules are not licensed jobs won't be able to retrieve the module ID for the level in the log. |