Developer forum

Forum » Ecommerce - Standard features » The indexReader is closed

The indexReader is closed

Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi guys,

I have started to encounter very often an error related to index. it's temporary but it's annoying and affects the trust of our customers:

Is this related to some missconfiguration on my end?

It happens in PIM when I try to open a Query.

I have an index with 2 instances and 3 builds (Full, Partial, AutoIds), I have tried both Balanced and Last upodated. Solution version is 9.13.5.

Thank you,

Adrian


Replies

 
Morten Snedker Dynamicweb Employee
Morten Snedker
Reply

Hi Adrian,

Do you have a URL for this solution for me to investigate?

BR
Snedker

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Morten,

We have both staging and live instances but the problem shows up mainly on the production solution: http://altexpim.cloud.dynamicweb-cms.com

It could be related to our custom code or to some conflicts in accessing the index.

This solution is used heavily by 10-20 users documenting products either through the interface or by import.

And there are several queries defined using the same index (I have tried separating but it only made things worse).

I am not sure how to guide you to reproduce it. In my case it happened very often after logging in and accessing one of the shared queries.

Thank you,
Adrian

 

 
Morten Snedker Dynamicweb Employee
Morten Snedker
Reply

Hi Adrian,

Reviewing the log, I see that the LogAction is named 'DfPim', and the exception you have posted also points to custom FieldTypeProvider (Df.Dw.FieldTypeProviderBulkEdit.DfPimMaster.GetQueryProductIds). So it seems to be something in that part of the code that goes wrong.

I recommend that you try and wrap some try-catch around in one or more places of that code, and apply some additional logging, in order to narrow down the source of the exception.

BR
Snedker

 

PS: your DfProductAfterSaveObserver (and secondly other df logging) produces quite a high number of entries in GeneralLog. You may want to set retention days for table GeneralLog (Settings > Log).

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Morten,

Thank you very much for the suggestion.
Yer, the DfProductAfterSaveObserver does a lot of stuff and it clogs the general log. I have set a retention of 30 days for now (as we are still debugging) but we will decrease that to a miximum of 5 days.

Thank you,
Adrian

 
Morten Snedker Dynamicweb Employee
Morten Snedker
Reply

From time to time I use a boolean (in this example named debug) that I can toggle true/false from Globalsettings. If it's true it will write debug info to GeneralLog, otherwise it won't. This way debug-info is only written if I need a period with extended debugging info.

if (logMsg != string.Empty && debug)
{
 LogManager.System.GetLogger(LogCategory.Monitoring, "Custom.Volstrup").Info(logMsg);
}

/snedker

 

You must be logged in to post in the forum