AI OnAI Off
Hi,
In 7.11 we changed the way to "refresh" catalog contents - due to performance problem with big catalog.
I suspect your catalog have one or more entries with fault asset information, where they are not stored as GUIDs.
I would suggest you to check the table CatalogItemAsset to find and correct those before continuing.
//There's a slim chance that you're using old eCF asset system but forget to set UseLegacyAssetSystem to false?
Regards.
/Q
Yes of course, thank you. UseLegacyAssetSystem did the trick. Silly me :).
/Oskar
Hi
After the upgrade to 7.10.3 I get to EPiServer Commere Migration Steps page. Running it generates the following error:
2014-09-22 15:06:20,519 [137] ERROR EPiServer.Commerce.Internal.Migration.MigrationProgressMessenger: Update asset types failed with exception 'System.AggregateException: One or more errors occurred. ---> System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).b__8(CatalogItemAssetRow a)b__1a()b__8(CatalogItemAssetRow a)b__1a() > >
at System.Guid.GuidResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName, Exception innerException)
at System.Guid.TryParseGuidWithNoStyle(String guidString, GuidResult& result)
at System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult& result)
at System.Guid..ctor(String g)
at EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.GetAssetLink(String assetKey)
at EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at EPiServer.Commerce.SpecializedProperties.ItemCollection`1..ctor(IEnumerable`1 items)
at EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.LoadAssets(CatalogEntryRow entryRow, EntryContentBase content)
at EPiServer.Commerce.Catalog.Provider.Construction.EntryBuilder.ConstructEntries(CatalogEntryDto entryDto, String language)
at EPiServer.Commerce.Catalog.Provider.Construction.EntryBuilder.Create(IList`1 contentLinks, String language)
at EPiServer.Commerce.Catalog.Provider.CatalogContentLoader.GetContentFromBuilder[T](String language, IEnumerable`1 linkByType)
at EPiServer.Commerce.Catalog.Provider.CatalogContentLoader.GetItems[T](IList`1 contentLinks, String language, IMarket market)
at EPiServer.Commerce.Catalog.Provider.CatalogContentDraftStore.GetCommittedContents(IList`1 contentLinks, String language)
at EPiServer.Commerce.Catalog.Provider.CatalogContentDraftStore.GetCommittedContent(ContentReference contentLink, String language)
at EPiServer.Commerce.Catalog.Provider.CatalogContentDraftStore.SyncVersionsWithEcf(ContentReference contentLink)
at EPiServer.Commerce.Catalog.Provider.CatalogContentDraftStore.ContentUpdatedInEcf(Object sender, ContentEventArgs e)
at EPiServer.Commerce.Catalog.Provider.CatalogEventHandler.RefreshContent(Int32 objectId, CatalogContentType type, Boolean isLocalChange)
at EPiServer.Commerce.Catalog.Provider.CatalogEventHandler.LocalEntryUpdate(Object sender, EntryEventArgs e)
at Mediachase.Commerce.Catalog.EventContext.EntryEventHandler.Invoke(Object sender, EntryEventArgs e)
at Mediachase.Commerce.Catalog.Managers.CatalogEntryManager.<>c__DisplayClass1f.
at Mediachase.Data.Provider.TransactionScope.ExecuteActions(IEnumerable`1 actions)
--- End of inner exception stack trace ---
at Mediachase.Data.Provider.TransactionScope.ExecuteActions(IEnumerable`1 actions)
at EPiServer.Commerce.Internal.Migration.Steps.RefreshCatalogContentStep.UpdateEntryContents(IProgressMessenger progressMessenger, Int32 startPercent, Int32 totalPercent)
at EPiServer.Commerce.Internal.Migration.Steps.RefreshCatalogContentStep.Execute(IProgressMessenger progressMessenger)
---> (Inner Exception #0) System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
at System.Guid.GuidResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName, Exception innerException)
at System.Guid.TryParseGuidWithNoStyle(String guidString, GuidResult& result)
at System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult& result)
at System.Guid..ctor(String g)
at EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.GetAssetLink(String assetKey)
at EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at EPiServer.Commerce.SpecializedProperties.ItemCollection`1..ctor(IEnumerable`1 items)
at EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.LoadAssets(CatalogEntryRow entryRow, EntryContentBase content)
at EPiServer.Commerce.Catalog.Provider.Construction.EntryBuilder.ConstructEntries(CatalogEntryDto entryDto, String language)
at EPiServer.Commerce.Catalog.Provider.Construction.EntryBuilder.Create(IList`1 contentLinks, String language)
at EPiServer.Commerce.Catalog.Provider.CatalogContentLoader.GetContentFromBuilder[T](String language, IEnumerable`1 linkByType)
at EPiServer.Commerce.Catalog.Provider.CatalogContentLoader.GetItems[T](IList`1 contentLinks, String language, IMarket market)
at EPiServer.Commerce.Catalog.Provider.CatalogContentDraftStore.GetCommittedContents(IList`1 contentLinks, String language)
at EPiServer.Commerce.Catalog.Provider.CatalogContentDraftStore.GetCommittedContent(ContentReference contentLink, String language)
at EPiServer.Commerce.Catalog.Provider.CatalogContentDraftStore.SyncVersionsWithEcf(ContentReference contentLink)
at EPiServer.Commerce.Catalog.Provider.CatalogContentDraftStore.ContentUpdatedInEcf(Object sender, ContentEventArgs e)
at EPiServer.Commerce.Catalog.Provider.CatalogEventHandler.RefreshContent(Int32 objectId, CatalogContentType type, Boolean isLocalChange)
at EPiServer.Commerce.Catalog.Provider.CatalogEventHandler.LocalEntryUpdate(Object sender, EntryEventArgs e)
at Mediachase.Commerce.Catalog.EventContext.EntryEventHandler.Invoke(Object sender, EntryEventArgs e)
at Mediachase.Commerce.Catalog.Managers.CatalogEntryManager.<>c__DisplayClass1f.
at Mediachase.Data.Provider.TransactionScope.ExecuteActions(IEnumerable`1 actions)<--->
'.--->
When I updated a copy of the same site to 7.11.0 the migration passes through. So why don´t I use that version or a later oneyou might ask. Wel the inRiver EPiServer connector fails with so I need an earlier version.
Anyone with some input?
Br
Oskar