0
votes

We are getting exception when we are trying to make any change in existing sitecore item and publish it to web DB.

Following is the exception- Message: Cannot insert duplicate key row in object 'dbo.VersionedFields' with unique index 'ndxUnique'. The duplicate key value is (48338b8b-7bfb-44e4-9715-3bafc826abfe, en, 1, b05b85e8-20a6-4f1c-9a04-1645d9a262b4).

The statement has been terminated. Source: Sitecore.Kernel at Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteNonQuery() at Sitecore.Data.DataProviders.Sql.SqlDataApi.<>c__DisplayClass15.b__14() at Sitecore.Data.DataProviders.NullRetryer.Execute[T](Func1 action, Action recover) at Sitecore.Data.DataProviders.Sql.SqlDataProvider.WriteVersionedField(ID itemId, FieldChange change, DateTime now, Boolean fieldsAreEmpty) at Sitecore.Data.DataProviders.Sql.SqlDataProvider.UpdateItemFields(ID itemId, ItemChanges changes) at Sitecore.Data.DataProviders.Sql.SqlDataProvider.<>c__DisplayClass1d.<SaveItem>b__1b() at Sitecore.Data.DataProviders.NullRetryer.ExecuteNoResult(Action action, Action recover) at Sitecore.Data.DataProviders.Sql.SqlDataProvider.SaveItem(ItemDefinition itemDefinition, ItemChanges changes, CallContext context) at Sitecore.Data.DataProviders.DataProvider.SaveItem(ItemDefinition item, ItemChanges changes, CallContext context, DataProviderCollection providers) at Sitecore.Data.DataSource.SaveItem(ID itemID, ItemChanges changes) at Sitecore.Data.Engines.EngineCommand2.Execute() at Sitecore.Data.Engines.DataEngine.SaveItem(Item item) at Sitecore.Data.Managers.ItemProvider.SaveItem(Item item) at Sitecore.Data.Items.ItemEditing.AcceptChanges(Boolean updateStatistics, Boolean silent) at Sitecore.Data.Items.EditContext.Dispose() at Sitecore.Publishing.PublishHelper.CopyToTarget(Item sourceVersion) at Sitecore.Publishing.PublishHelper.PublishVersionToTarget(Item sourceVersion, Item targetItem, Boolean targetCreated) at Sitecore.Publishing.Pipelines.PublishItem.PerformAction.ExecuteAction(PublishItemContext context) at Sitecore.Publishing.Pipelines.PublishItem.PerformAction.Process(PublishItemContext context) at (Object , Object[] ) at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) at Sitecore.Publishing.Pipelines.PublishItem.PublishItemPipeline.Run(PublishItemContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable1 entries, PublishContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable1 entries, PublishContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable1 entries, PublishContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable1 entries, PublishContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.ProcessEntries(IEnumerable`1 entries, PublishContext context) at Sitecore.Publishing.Pipelines.Publish.ProcessQueue.Process(PublishContext context)

Do any one have any idea about it?

1
Not sure that my suggestion is the best one but try to remove the appropriate row from 'dbo.VersionedFields' table in web database.Aleksey Shevchenko
Yes. This is a hack to resolve this issue but I dont want to delete things from Web DB directly as it might cause new issues.Ashish

1 Answers

0
votes

Finally got the solution from Sitecore support. Basically the version field should also be present in indexed column. We had not made any manual change for the same but it happened somehow.

Solution provided by Sitecore support