Developer forum

Forum » CMS - Standard features » Time out after upgrading to 9,6,5

Time out after upgrading to 9,6,5

Aki Ruuskanen
Aki Ruuskanen
Reply

Hi,

I upgraded a staging enviroment to 9.6.5 and after that I get time outs on the solutions. 

http://mf94.staging.softgear.se/

Looks like "CollectProductsCountByGroupsForNavigation" is the last thing called.

Stack trace:

[Win32Exception (0x80004005): The wait operation timed out]

[SqlException (0x80131904): Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +3305804
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +736
   System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4061
   System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +90
   System.Data.SqlClient.SqlDataReader.get_MetaData() +99
   System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) +604
   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) +3303
   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) +667
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +83
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +301
   Dynamicweb.Data.Database.CreateDataReader(IDbCommand command, CommandBehavior behavior) +106
   Dynamicweb.Data.Database.CreateDataReader(CommandBuilder commandBuilder, IDbConnection connection, IDbTransaction transaction, CommandBehavior behavior, Int32 commandTimeout) +81
   Dynamicweb.Data.Database.CreateDataReader(CommandBuilder commandBuilder, IDbConnection connection, IDbTransaction transaction, Int32 commandTimeout) +188
   Dynamicweb.Ecommerce.Products.ProductRepository.GetProductsCountByGroups(IEnumerable`1 groupIds, Boolean countOnlyActive, String searchValue, String productLanguageId, Boolean includeVariants, Boolean doRefactoring, Boolean searchInAllFields) +2826
   Dynamicweb.Ecommerce.Products.VB$StateMachine_174_GetProductsCountByGroups.MoveNext() +1596
   System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +240
   System.Linq.Enumerable.ToList(IEnumerable`1 source) +44
   Dynamicweb.Ecommerce.Frontend.NavigationProviders.GroupNavigationProvider.CollectProductsCountByGroupsForNavigation(IEnumerable`1 groups) +236
   Dynamicweb.Ecommerce.Frontend.NavigationProviders.GroupNavigationProvider.BuildGroupsProductCounts(GroupCollection topGroups, Int32 level, Int32 maxLevel) +261
   Dynamicweb.Ecommerce.Frontend.NavigationProviders.GroupNavigationProvider.MakeGroupTree(Page page, NavigationItem parentNode, Boolean applyStartAndEndLevelToNavigation) +1270
   Dynamicweb.Ecommerce.Frontend.NavigationProviders.GroupNavigationProvider.Process(NavigationItem node, Boolean applyStartAndEndLevelToNavigation) +504
   Dynamicweb.Ecommerce.Frontend.NavigationProviders.GroupNavigationProvider.ProcessTree(RootNavigationItem rootNode, NavigationType navigationType) +522
   Dynamicweb.Frontend.XmlNavigation.MakeXml(Int32 parentId, Int32 levelStart, Int32 levelStop, Expand expand, Int32 selectedAreaId) +2176
   Dynamicweb.Frontend.XmlNavigation.GetNavigationHtml(Int32 parentId, Int32 levelStart, Int32 levelStop, Expand expand, String name, String xsltPath, Int32 selectedAreaId, Boolean sitemapMode, NameValueCollection settings, NameValueCollection attributes, IncludeMode mode) +239
   Dynamicweb.Frontend.XmlNavigation.GetNavigationHtml(NameValueCollection settings, NameValueCollection attributes) +1682
   Dynamicweb.Frontend.XmlNavigation.ParseNavigationTags(Template template, Layout layout) +162
   Dynamicweb.Frontend.Renderer.RenderPage(Template template, PageViewModel pageViewModel) +4403
   Dynamicweb.Frontend.PageView.SetPageTemplateValues() +220
   Dynamicweb.Frontend.PageView.Output() +1235
   Dynamicweb.Frontend.DynamicwebHttpHandler.ProcessRequest(HttpContext context) +221
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +790
   System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +195
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +88

Any ideas?

Regards / Aki

 


Replies

 
Aki Ruuskanen
Aki Ruuskanen
Reply

I checked of this (screenshot) and got rid of the time out but would like to use it. smiley

settings.JPG
 
Nicolai Pedersen
Reply

Hi Aki

How many products do you have? And how old is your DB? Missing or unoptimized indexes maybe? And what did you upgrade from?

BR Nicolai

 
Aki Ruuskanen
Aki Ruuskanen
Reply

Hi,

Upgraded from 9.5.2.

The DB is quite old and there propably are some unoptimzied indexes. Went through some of them that has to do with products and groups. 

The DB has 31.331 products of which 15.997 are active. And in the productgroup hierarky all products in the subgroups are also related to the parentgroups so there are MANY relations. I guess that does not go well with the product counting. On the other hand shouldn't that just be an indexed number or is it calculated every time?

Maybe we can make an own index field with the product count....

/Aki

 

 

products.JPG
 
Nicolai Pedersen
Reply

Hi Aki

Yes, and also things has happened on our DB schema in terms of indexes, etc, so It might be worth to take a look at a new database and setup the same indexes and rebuild them.

Or count manually to field...

BR Nicolai

 
Aki Ruuskanen
Aki Ruuskanen
Reply

OK, doesn't the update scripts modify the DB Schema with indexes? If not it really sounds like something we should take look at.

/Aki

 

You must be logged in to post in the forum