I have a single Portal on a web farm that will have nearly 4000 browsers in the next few weeks. Each day I have 10,000 or more errors in my Event Log that state:
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
ExceptionGUID: ee7ba3ba-e18d-4c7d-a68e-e12c2523a027
InnerException: Exception of type 'System.OutOfMemoryException' was thrown.
FileName:
FileLineNumber: 0
FileColumnNumber: 0
Method: System.Threading.Thread.StartInternal
StackTrace:
Message: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.at System.Threading.Thread.StartInternal(IPrincipal principal, StackCrawlMark& stackMark)at System.Threading.Thread.Start()at DotNetNuke.Common.Initialize.RunSchedule(HttpRequest request) in \\ServerName\SiteName\Library\Components\Shared\Initialize.vb:line 319
I get so many of these that I have to truncate the table each day in order to view the Event Viewer. Otherwise, I see an error page or it simply doesn’t load. When I take a look at the servers I see no major utilization of memory. The error does point to Initialize.vb line 319 which is: RequestScheduleThread.Start()
Let me give some background on the application that could possibly lead me to the reason and hopefully a solution.
I have a 2-server web farm where I host my DNN site. I am using DFS for ensuring that all documents and files are identical on both servers. (So the web.configs are the same) I used the Web Farm documentation to set it up. I, however, was unable to properly complete 2 items in this document:
Step 3: Next, the machine keys in web.config must match across all web servers in the
farm. Open web.config on one machine and find the following XML node:
“configuration/appSettings”. There are two application settings defined here for
the machine keys:
MachineValidationKey – ensure all servers in the farm have the same value
for this key
MachineDecryptionKey – ensure all servers in the farm have the same value
for this key
I did not do anything to the servers in the web farm as the Engineers at my company were hesitant to change anything. I indeed found this requirement when researching using Web Farms with ASP.NET applications, but all we did was make sure the web.configs read the same.
Step 5: Alternative Configuration (using file replication services)
“$root\Providers\CachingProviders\BroadcastPollingCachingProvider\Providers\
SQLDataProvider\ 03.01.00.SqlDataProvider”
Log in to your DotNetNuke installation as a SuperUser, go to the Host menu and
select “SQL”.
Paste the contents of your clipboard into the textbox on the SQL page.
Select the “Run as Script” checkbox so it is checked.
This file did not exist in the location listed. I did find a 03.01.00.SqlDataProvider file in another location (Website\Providers\DataProviders\SqlDataProvider). I attempted to run the SQL on the site, but to no avail. I get the longest SQL Error known to man. (This is after changing the {dbo} and {objectqualifier})
Also, the only other error message I see is DNN not able to access a cache file because it’s being “utilized by another process”
Does anyone have any insight for me? I desperately need some help to halt this slew of error messages. Yesterday I truncated the table and this morning I already had 18,530.
Thanks in advance!!