Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more

Error when upgrading to EPiServer Commerce 7.10.3

Vote:
0

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).
   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.b__8(CatalogItemAssetRow a)
   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.b__1a()
   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.b__8(CatalogItemAssetRow a)
   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.b__1a()
   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

#90934
Sep 22, 2014 15:12
Vote:
0

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

#90942
Sep 22, 2014 17:47
Vote:
0

Yes of course, thank you. UseLegacyAssetSystem did the trick. Silly me :).

/Oskar

#90943
Sep 22, 2014 19:47
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* 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.