Dynamic Data Store Error

Vote:
 

We recently started getting this error in one of our environments, and after a bit of digging, I can't find out what's causing it. Was hoping someone could point me in the right direction. Thanks!

[ArgumentNullException: Value cannot be null.
Parameter name: key]
   System.Collections.Generic.Dictionary`2.FindEntry(TKey key) +14370237
   System.Collections.Generic.Dictionary`2.ContainsKey(TKey key) +9
   EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.ProcessValueFromDb(Type targetType, Object value, String name, ProviderCallContext context, Type targetParentType) +178
   EPiServer.Data.Dynamic.Providers.SqlServerDataStoreProvider.ProcessValueFromDb(Type targetType, Object value, String name, ProviderCallContext context, Type targetParentType) +603
   EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadInlineProperties(ProviderCallContext ctx) +711
   EPiServer.Data.Dynamic.Providers.<>c__DisplayClass1.b__0() +21
   EPiServer.Data.Providers.<>c__DisplayClass1`1.b__0() +60
   EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute(Func`1 method) +147
   EPiServer.Data.Dynamic.DynamicDataStore.InternalLoad(Identity id, Type type, LoadAsObjectType loadAs, ProviderCallContext parentContext) +615
   EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadSubObject(Identity id, Type type, String storeName, ProviderCallContext context) +295
   EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadReferencesAndCollections(ProviderCallContext ctx) +2282
   EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadObject(ProviderCallContext context) +152
   EPiServer.Data.Providers.<>c__DisplayClass1`1.b__0() +60
   EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute(Func`1 method) +147
   EPiServer.Data.Dynamic.DynamicDataStore.InternalLoad(Identity id, Type type, LoadAsObjectType loadAs, ProviderCallContext parentContext) +615
   EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadSubObject(Identity id, Type type, String storeName, ProviderCallContext context) +295
   EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadReferenceMarkers(IList list, ProviderCallContext context) +111
   EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadCollection(ProviderCallContext context, PropertyMap propertyMap) +1892
   EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadReferencesAndCollections(ProviderCallContext ctx) +2432
   EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadObject(ProviderCallContext context) +152
   EPiServer.Data.Providers.<>c__DisplayClass1`1.b__0() +60
   EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute(Func`1 method) +147
   EPiServer.Data.Dynamic.DynamicDataStore.InternalLoad(Identity id, Type type, LoadAsObjectType loadAs, ProviderCallContext parentContext) +615
   EPiServer.Data.Dynamic.EPiServerDynamicDataStore.Load(Identity id) +72
   EPiServer.Data.Dynamic.DynamicDataCollectionEnumerator.get_Current() +330
   System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +495
   System.Linq.Enumerable.ToList(IEnumerable`1 source) +80
   EPiServer.Personalization.VisitorGroups.VisitorGroupStore.List() +261
   EPiServer.Personalization.VisitorGroups.VisitorGroupInitialization.InitializeStoredVisitorGroups(IServiceLocator locator) +98
#121465
May 11, 2015 20:13
Vote:
 

You found any solution to this problem?

#142193
Dec 04, 2015 12:33
Vote:
 

I've seen this on one occasion, and it happens during startup of the site only after a crash or recycle that allows a new process to be started before the old one dies.

Set "Disable Overlapped Recycle" to true on the application pool to prevent this. It will give the application pool ample time to stop the existing process before a new one is started.

/Steve

#142199
Dec 04, 2015 13:19
Vote:
 

Had this problem too when removing a VisitorGroupCriterion.

Found that the VisitorGroupCriterion was still in use.

Removing the criterion from all visitor groups before removing the criterion implementation solved this.

#186965
Jan 09, 2018 14:21
* 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.