A record failed to import. The given key was not present in the dictionary.
Just upgraded to 3.4 PRO. I'm running the import and getting this error:
CMSImportLibrary.Providers.ImportProviders.Content.ContentImportProvider - CMSImport:A record failed to import for aliasshortDescription
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary2.get_Item(TKey key)
at System.Collections.ObjectModel.KeyedCollection2.get_Item(TKey key)
at CMSImportLibrary.Providers.ImportProviders.Content.ContentImportProvider.(ImportActions , IContent , Dictionary`2 , AdvancedSettingFieldOptions , PropertyInfo , Object , ImportState , Boolean& )
at CMSImportLibrary.Providers.ImportProviders.Content.ContentImportProvider.(ImportState , Int32 , ImportStatistics , String )
I've tried removing that field in the error (shortDescription) and when I run it again I get the same error but for one of the other fields instead. I'm not quite sure how to troubleshoot this because the stacktrace doesn't have much info.
The error comes from the save action and I'm reporting the last field that was checked without errors since Umbraco these days saves all fields at once instead of individual fields in the past.
This is a completely different issue. The thread is aborted so a IIS restart happened I think. Could be that you are uploading a big file that consumes a lot of memory. Maybe try on a machine with more memory?
If that isn't the issue please create a different forum post.
You were right, somehow the table CMSImportRelation does not contain the column CustomId (I upgraded CMSImport to 3.5.3 from Umbraco back office - packages manager). Adding the column will sort it out.
A record failed to import. The given key was not present in the dictionary.
Just upgraded to 3.4 PRO. I'm running the import and getting this error:
CMSImportLibrary.Providers.ImportProviders.Content.ContentImportProvider - CMSImport:A record failed to import for aliasshortDescription System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary
2.get_Item(TKey key) at System.Collections.ObjectModel.KeyedCollection
2.get_Item(TKey key) at CMSImportLibrary.Providers.ImportProviders.Content.ContentImportProvider.(ImportActions , IContent , Dictionary`2 , AdvancedSettingFieldOptions , PropertyInfo , Object , ImportState , Boolean& ) at CMSImportLibrary.Providers.ImportProviders.Content.ContentImportProvider.(ImportState , Int32 , ImportStatistics , String )I've tried removing that field in the error (shortDescription) and when I run it again I get the same error but for one of the other fields instead. I'm not quite sure how to troubleshoot this because the stacktrace doesn't have much info.
Any ideas what else I can try or look for?
Thanks, Ryan
Hi Ryan,
The error comes from the save action and I'm reporting the last field that was checked without errors since Umbraco these days saves all fields at once instead of individual fields in the past.
Any special fields you are mapping to?
Cheers,
Richard
Hi Richard,
I am facing similar issue but in my case i am not getting the last field.
ERROR CMSImportLibrary.Providers.ImportProviders.Content.ContentImportProvider - CMSImport:A record failed to import for alias System.Threading.ThreadAbortException: Thread was being aborted. at Umbraco.Core.Services.NotificationService.SendNotifications(IUser operatingUser, IUmbracoEntity entity, String action, String actionName, HttpContextBase http, Func
3 createSubject, Func
3 createBody) at Umbraco.Web.NotificationServiceExtensions.SendNotification(INotificationService service, IUser sender, IUmbracoEntity entity, IAction action, UmbracoContext umbracoContext, ApplicationContext applicationContext) at Umbraco.Web.NotificationServiceExtensions.SendNotification(INotificationService service, IUmbracoEntity entity, IAction action, UmbracoContext umbracoContext, ApplicationContext applicationContext) at Umbraco.Web.NotificationServiceExtensions.SendNotification(INotificationService service, IUmbracoEntity entity, IAction action, UmbracoContext umbracoContext) at Umbraco.Web.Strategies.NotificationsHandler.<>cDisplayClass8.3(IContentService sender, SaveEventArgs1 args) at Umbraco.Core.Events.TypedEventHandler
2.Invoke(TSender sender, TEventArgs e) at Umbraco.Core.Events.EventExtensions.RaiseEvent[TSender,TArgs](TypedEventHandler`2 eventHandler, TArgs args, TSender sender) at Umbraco.Core.Services.ContentService.Save(IContent content, Boolean changeState, Int32 userId, Boolean raiseEvents) at Umbraco.Core.Services.ContentService.Umbraco.Core.Services.IContentServiceOperations.Save(IContent content, Int32 userId, Boolean raiseEvents) at Umbraco.Core.Services.ContentService.Save(IContent content, Int32 userId, Boolean raiseEvents) at CMSImportLibrary.Providers.ImportProviders.Content.ContentImportProvider.(ImportState , Int32 , ImportStatistics , String )Request you to please help me on this.
Regards,Mayank Parekh
Hi Mayank,
This is a completely different issue. The thread is aborted so a IIS restart happened I think. Could be that you are uploading a big file that consumes a lot of memory. Maybe try on a machine with more memory?
If that isn't the issue please create a different forum post.
Best,
Richard
Hi Richard,
I am using 3.5.3 PRO, got the same error:
ERROR CMSImportLibrary.Providers.ImportProviders.Content.ContentImportProvider - CMSImport:A record failed to import for aliasLng System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'CustomId'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource
1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteScalar() at System.Data.SqlClient.SqlCommand.ExecuteScalar() at Umbraco.Core.Persistence.PetaPocoCommandExtensions.<>cDisplayClassa.9() at Umbraco.Core.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func`1 func) at Umbraco.Core.Persistence.Database.Insert(String tableName, String primaryKeyName, Boolean autoIncrement, Object poco) at CMSImportLibrary.Helpers.DataHelper.UpdateRelation(Int32 nodeId, Object relationKey, String importProvider, Object customId) at CMSImportLibrary.Providers.ImportProviders.Content.ContentImportProvider.(ImportState , Int32 , ImportStatistics , String )Do you have any clue for this error?
Thanks, LH
Hi,
Yes this issue is related to a table update that sometimes is skipped by the installer.
Make sure the table cmsimportrelation contains the column CustomId (nvarchar(255)
Sorry for the hassle.
Hope this helps,
Richard
Hi Richard,
Thanks for your quick response.
You were right, somehow the table CMSImportRelation does not contain the column CustomId (I upgraded CMSImport to 3.5.3 from Umbraco back office - packages manager). Adding the column will sort it out.
Cheers, LH
is working on a reply...