November Happy Hour will be moved to Thursday December 5th.

StoreInconsistencyException: EPiServer.Shell.Search.SearchProviderSetting

Vote:
 

If I try to access "CMS->Admin->Config->Search configuration" page (direct url: http://host/episerver/Shell/Search/Settings) I get following exeption:

Exception details: StoreInconsistencyException: The Type 'EPiServer.Shell.Search.SearchProviderSetting' needs to be remapped in the Dynamic Data Store, see the Errors collection for more information. Remapping can be done by applying the EPiServer.Data.Dynamic.EPiServerDataStoreAttribute attribute to the type, setting its AutomaticallyRemapStore property to true and ensuring the autoRemapStores attribute in web.config is set to true (or is not defined). Alternatively call the Upgrade-EPiRemapDDSTypes cmdlet from Powershell.
Stack trace:

[StoreInconsistencyException: The Type 'EPiServer.Shell.Search.SearchProviderSetting' needs to be remapped in the Dynamic Data Store, see the Errors collection for more information.
Remapping can be done by applying the EPiServer.Data.Dynamic.EPiServerDataStoreAttribute attribute to the type,
setting its AutomaticallyRemapStore property to true and ensuring the  autoRemapStores attribute in web.config is set to true (or is not defined).
Alternatively call the Upgrade-EPiRemapDDSTypes cmdlet from Powershell.]
   at EPiServer.Data.Dynamic.EPiServerDynamicDataStoreFactory.GetStore(Type type)
   at EPiServer.Shell.Search.SearchProvidersManager.get_Store()
   at EPiServer.Shell.Search.SearchProvidersManager.GetProviderPairs()
   at EPiServer.Shell.UI.Controllers.EPiSearchController.Settings()
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass13.b__10()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
   at System.Web.Mvc.Controller.ExecuteCore()
   at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
   at EPiServer.Shell.Web.Mvc.ModuleMvcHandler.ProcessController(IController controller)
   at EPiServer.Shell.Web.Mvc.ModuleMvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

So now I have all CMS admin context search functionallity broken due to the same error that occurs if I type anything in search bar.

Nothing has been changed since last time I had this page working. It was no updates of CMS nuget packages.

I've checked SearchProviderSettings class definition in the code and database and get following results:

Name: EPiServer.Shell.Search.SearchProviderSetting
Assembly: EPiServer.Shell, Version=7.6.5.0

public class SearchProviderSetting
{
    // Methods
    public SearchProviderSetting();
    public SearchProviderSetting(string providerTypeName, int sortIndex, bool isEnabled);

    // Properties
    public string FullName { get; set; }
    public bool IsEnabled { get; set; }
    public int SortIndex { get; set; }
}
SELECT * FROM tblBigTableStoreInfo
WHERE fkStoreId IN (
	SELECT pkId FROM tblBigTableStoreConfig
	WHERE StoreName = 'EPiServer.Shell.Search.SearchProviderSetting')
fkStoreId	PropertyName	PropertyMapType	PropertyIndex	Active	PropertyType	Version	ColumnName	ColumnRowIndex
14	FullName	1	1	1	System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089	1	String01	1
14	IsEnabled	1	2	1	System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089	1	Boolean01	1
14	SortIndex	1	3	1	System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089	1	Integer01	1

So as I see code does match data in database. EPiServer.Shell.Search.SearchProviderSetting hasn't been changed (no updates).

So my questions are:


1. How can I fix the issue?

2. What cause this exception to occur (codebase has not been changed, so code and database do match each other)?

#90207
Sep 03, 2014 16:13
Vote:
 

Hi, Yauheni,

Do you remember how you fixed this?

BR,
Marija

#171200
Nov 02, 2016 15:15
Vote:
 

If anyone bumps into this, check out this post

#171228
Nov 03, 2016 10:36
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.