Hi
Hopefully someone can help me with this.
About 10 days ago I changed the configuration setting for my site, as discribed in one of Mitchel articals to speed the site up, as it was going at crawling pace, I changed the cache settings and switched the scheduler to 'Timer Method'. Everything seems to be working well, there were no more timeouts and everyone was happy, me included.
However yesterday I noticed in the logviewer that the Scheduler was giving a series of 'General Exceptions' - here is one of the logs:
AssemblyVersion: -1
PortalID: -1
PortalName:
UserID: -1
UserName:
ActiveTabID: -1
ActiveTabName:
RawURL:
AbsoluteURL:
AbsoluteURLReferrer:
UserAgent:
DefaultDataProvider:
ExceptionGUID:
InnerException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
FileName:
FileLineNumber: -1
FileColumnNumber: -1
Method:
StackTrace:
Message: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 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) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, String spName, Object[] parameterValues) at DotNetNuke.Services.Scheduling.DNNScheduling.SqlDataProvider.PurgeScheduleHistory() at DotNetNuke.Services.Scheduling.DNNScheduling.DNNScheduler.PurgeScheduleHistory() at DotNetNuke.Services.Scheduling.PurgeScheduleHistory.DoWork()
As well as this there are several Scheduler Failure warnings like this:
THREAD ID: 12
TYPE: DotNetNuke.Services.Scheduling.PurgeScheduleHistory
EXCEPTION: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
RESCHEDULED FOR: 4/10/2009 1:21:49 PM
SOURCE: STARTED_FROM_TIMER
ACTIVE THREADS: 1
FREE THREADS: 1
READER TIMEOUTS: 0
WRITER TIMEOUTS: 0
IN PROGRESS: 1
IN QUEUE: 4
The problem is I don't know what's causing the problem and even worse I can access the scheduler from the host login either, every time I try I get a time out notice. I have tried chaging the scheduler setting to both 'Request Method' and 'Disable' and I still can't access the scheduler.
I really need the secheduler running correctly as it requests the repeat subscriptions for the site, and without it running I have manually update users accounts and payment details!
The site is version 04.04.01 - I am develeoping an upgrade to 5 at the moment but need this site running smoothly in the mean time. If it's any help resolving this problem the site is on a dedicated server to which I have full access.
I can't think of anything else that has changed resently, other than I did have a problem adding a new page over the weekend but sorted that out, as it was only a tempary page and now isn't linked to from within the the site. Would deleting this page help? I don't think so?
I did notice earlier in the week that the server told me that it had run a windows update and installed new updates and rebooted, which was odd as windows update is set to download and wait for me to run the update. I have looked at the update log and can't see any updates since 31 March! I don't know if this has anything to do with the problem.
I have been going through the server logs and I have an application warning that seems to corespond to this problem which is here:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 4/8/2009 1:50:16 PM
Event time (UTC): 4/8/2009 12:50:16 PM
Event ID: 39da5ebc3eed4083abcf6d4fd91700c2
Event sequence: 208
Event occurrence: 7
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/10401/ROOT-1-128836630861675280
Trust level: Full
Application Virtual Path: /
Application Path: D:\xxxxxxxxxxxxxxxxxxxxxxxxxxx\
Machine name: Sxxxxxxxxxxx
Process information:
Process ID: 2904
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: ModuleLoadException
Exception message: Error: Schedule is currently unavailable.
Request information:
Request URL: http://www.racinginfoservices.co.uk/Default.aspx?TabId=25&portalid=0
Request path: /Default.aspx
User host address: xxx.xxx.xxx.xxx
User: host
Is authenticated: True
Authentication Type: forms
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 12
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: False
Stack trace: at DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(String FriendlyMessage, PortalModuleBase ctrlModule, Exception exc, Boolean DisplayErrorMessage)
at DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(PortalModuleBase ctrlModule, Exception exc)
at DotNetNuke.Modules.Admin.Scheduling.ViewSchedule.Page_Load(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Custom event details:
The other thing that I have noticed is that the User Host Address (IP) if that of the servers default ip and not that of the site, I don't know if that is something or not.
I have also been looking through the ScheduleHistory table in the dnn database, and have found that the only schedule that is failing is the purge schedule history schedule and this started failing around the same time that I changed the scheduler from 'Request Method' to 'Timer Method'. So I am guessing that the 2 are now related. I have changed the 'enable' value in the schedule table from true to false for this schedule from true to false. I don't know if this is wise, but it's the only thing that I can think of. However I still can't access the scheduler page from the host login!
Any Help on this would be much appreciated, sorry for the long post but I spent all day yesterday looking into this and this all the info that I found out.
Thanks
Chris