Re: Document Set Version Collection Corrupted
What patch level are you at? Assuming SP2010. There is a fix in the following CU that looks to be a fix for your issue. http://support.microsoft.com/kb/2687545 On 8 July 2013 09:28, Nigel Witherdin nigel_wither...@hotmail.com wrote: Hey Guys, Just about to start looking into this one and trying some stuff, but as it is reasonably obscure thought I would throw it out there in case anyone else has encountered something similar. We have a library consisting of many thousands of document sets. Most of these document sets are fine, but have found one where trying to view the document set version history or create a new ds version throws an error: System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.get_ListItemUrlToInternalIdMap() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItemsb__b(SPListItem item) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItem(SPListItem item, Boolean fIncludeFolderItems, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItems(SPListItemCollection items, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.c__DisplayClass17.ProcessItemsInFolderb__16(SPListItemCollection items) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, SPQuery query, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, String strQuery, UInt32 rowLimit, Boolean fRecursive, SPFolder folder, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItemsInFolder(SPList list, SPFolder folder, Boolean fRecursive, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItemsInFolder(SPList list, SPFolder folder, Boolean fRecursive, Boolean fIncludeFolderItems, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItems() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Load() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Add(Boolean isLastMajor, String comments) at Microsoft.Office.DocumentManagement.Pages.CreateVersionUI.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) anyone have any ideas or suggestions? Cheers, Nigel ___ ozmoss mailing list ozmoss@ozmoss.com http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss ___ ozmoss mailing list ozmoss@ozmoss.com http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss
RE: Document Set Version Collection Corrupted
Thanks Tom - will try the CU in the dev environment to see if it solves the issue. Out of interest - how did you find this?? Cheers, Nigel Date: Mon, 8 Jul 2013 10:39:29 +0930 Subject: Re: Document Set Version Collection Corrupted From: oconnor...@gmail.com To: ozmoss@ozmoss.com What patch level are you at? Assuming SP2010. There is a fix in the following CU that looks to be a fix for your issue.http://support.microsoft.com/kb/2687545 On 8 July 2013 09:28, Nigel Witherdin nigel_wither...@hotmail.com wrote: Hey Guys, Just about to start looking into this one and trying some stuff, but as it is reasonably obscure thought I would throw it out there in case anyone else has encountered something similar. We have a library consisting of many thousands of document sets. Most of these document sets are fine, but have found one where trying to view the document set version history or create a new ds version throws an error: System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.get_ListItemUrlToInternalIdMap() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItemsb__b(SPListItem item) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItem(SPListItem item, Boolean fIncludeFolderItems, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItems(SPListItemCollection items, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.c__DisplayClass17.ProcessItemsInFolderb__16(SPListItemCollection items) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, SPQuery query, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, String strQuery, UInt32 rowLimit, Boolean fRecursive, SPFolder folder, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItemsInFolder(SPList list, SPFolder folder, Boolean fRecursive, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItemsInFolder(SPList list, SPFolder folder, Boolean fRecursive, Boolean fIncludeFolderItems, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItems() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Load() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Add(Boolean isLastMajor, String comments) at Microsoft.Office.DocumentManagement.Pages.CreateVersionUI.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) anyone have any ideas or suggestions? Cheers, Nigel ___ ozmoss mailing list ozmoss@ozmoss.com http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss ___ ozmoss mailing list ozmoss@ozmoss.com http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss ___ ozmoss mailing list ozmoss@ozmoss.com http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss
RE: Document Set Version Collection Corrupted
That fix may or may not be relevant - since it states that it is only about viewing version history, not creating a new one. The error is indicating that something that should be unique is duplicated - a regular unhelpful XML error. Since it is happening in a url to ID method, I would suspect that some file in the docset is registered as being there twice for some obscure reason. [Description: Description: C:\Users\Brian\Pictures\EXD Logos\Extelligent logo no text.jpg]Ishai Sagi | Solutions Architect 0488 789 786 | is...@exd.com.aumailto:is...@exd.com.au | www.sharepoint-tips.comhttp://www.sharepoint-tips.com/ | @ishaisagihttp://twitter.com/ishaisagi | MVP Profilehttps://mvp.support.microsoft.com/profile/Ishai From: ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com] On Behalf Of Tom O'Connor Sent: Monday, 8 July 2013 11:09 AM To: ozMOSS Subject: Re: Document Set Version Collection Corrupted What patch level are you at? Assuming SP2010. There is a fix in the following CU that looks to be a fix for your issue. http://support.microsoft.com/kb/2687545 On 8 July 2013 09:28, Nigel Witherdin nigel_wither...@hotmail.commailto:nigel_wither...@hotmail.com wrote: Hey Guys, Just about to start looking into this one and trying some stuff, but as it is reasonably obscure thought I would throw it out there in case anyone else has encountered something similar. We have a library consisting of many thousands of document sets. Most of these document sets are fine, but have found one where trying to view the document set version history or create a new ds version throws an error: System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.get_ListItemUrlToInternalIdMap() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItemsb__b(SPListItem item) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItem(SPListItem item, Boolean fIncludeFolderItems, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItems(SPListItemCollection items, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.c__DisplayClass17.ProcessItemsInFolderb__16(SPListItemCollection items) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, SPQuery query, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, String strQuery, UInt32 rowLimit, Boolean fRecursive, SPFolder folder, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItemsInFolder(SPList list, SPFolder folder, Boolean fRecursive, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItemsInFolder(SPList list, SPFolder folder, Boolean fRecursive, Boolean fIncludeFolderItems, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItems() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Load() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Add(Boolean isLastMajor, String comments) at Microsoft.Office.DocumentManagement.Pages.CreateVersionUI.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) anyone have any ideas or suggestions? Cheers, Nigel ___ ozmoss mailing list ozmoss@ozmoss.commailto:ozmoss@ozmoss.com http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss inline: image001.jpginline: image003.jpg___ ozmoss mailing list ozmoss@ozmoss.com http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss
Re: Document Set Version Collection Corrupted
Hi Nigel, I vaguely remembered having a similar issue previously. I don't actually think it was the same problem, as Ishai said, it's a pretty generic error... I believe it was the same error but different circumstances. I just put my Googling hat on and this hotfix came up, it sounded relatively similar to what you were experiencing. Of course, I'd suggest testing this out on a test environment before rolling it out to production, ensuring it does actually resolve the problem. Cheers, Tom On 8 July 2013 11:59, Ishai Sagi is...@exd.com.au wrote: That fix may or may not be relevant – since it states that it is only about viewing version history, not creating a new one. The error is indicating that something that should be unique is duplicated – a regular unhelpful XML error. Since it is happening in a url to ID method, I would suspect that some file in the docset is registered as being there twice for some obscure reason. ** ** ** ** **[image: Description: Description: C:\Users\Brian\Pictures\EXD Logos\Extelligent logo no text.jpg]***Ishai Sagi* | Solutions Architect 0488 789 786 | is...@exd.com.au | www.sharepoint-tips.com | @ishaisagihttp://twitter.com/ishaisagi | MVP Profile https://mvp.support.microsoft.com/profile/Ishai ** ** *From:* ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com] *On Behalf Of *Tom O'Connor *Sent:* Monday, 8 July 2013 11:09 AM *To:* ozMOSS *Subject:* Re: Document Set Version Collection Corrupted ** ** What patch level are you at? Assuming SP2010. ** ** There is a fix in the following CU that looks to be a fix for your issue.* *** http://support.microsoft.com/kb/2687545 ** ** On 8 July 2013 09:28, Nigel Witherdin nigel_wither...@hotmail.com wrote: Hey Guys, ** ** Just about to start looking into this one and trying some stuff, but as it is reasonably obscure thought I would throw it out there in case anyone else has encountered something similar. We have a library consisting of many thousands of document sets. Most of these document sets are fine, but have found one where trying to view the document set version history or create a new ds version throws an error: ** ** System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.get_ListItemUrlToInternalIdMap() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItemsb__b(SPListItem item) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItem(SPListItem item, Boolean fIncludeFolderItems, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItems(SPListItemCollection items, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.c__DisplayClass17.ProcessItemsInFolderb__16(SPListItemCollection items) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, SPQuery query, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, String strQuery, UInt32 rowLimit, Boolean fRecursive, SPFolder folder, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItemsInFolder(SPList list, SPFolder folder, Boolean fRecursive, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItemsInFolder(SPList list, SPFolder folder, Boolean fRecursive, Boolean fIncludeFolderItems, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout)** ** at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItems() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Load() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Add(Boolean isLastMajor, String comments) at Microsoft.Office.DocumentManagement.Pages.CreateVersionUI.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Page.ProcessRequestMain
RE: Document Set Version Collection Corrupted
Thanks guys - am installing the CU on dev vm now. I did some searching as well and was suprised this CU didnt come up as I used terms SharePoint 2010 and the error message. Let down by DuckDuckGo perhaps?? Date: Mon, 8 Jul 2013 12:27:32 +0930 Subject: Re: Document Set Version Collection Corrupted From: oconnor...@gmail.com To: ozmoss@ozmoss.com Hi Nigel, I vaguely remembered having a similar issue previously. I don't actually think it was the same problem, as Ishai said, it's a pretty generic error... I believe it was the same error but different circumstances. I just put my Googling hat on and this hotfix came up, it sounded relatively similar to what you were experiencing. Of course, I'd suggest testing this out on a test environment before rolling it out to production, ensuring it does actually resolve the problem. Cheers,Tom On 8 July 2013 11:59, Ishai Sagi is...@exd.com.au wrote: That fix may or may not be relevant – since it states that it is only about viewing version history, not creating a new one. The error is indicating that something that should be unique is duplicated – a regular unhelpful XML error. Since it is happening in a url to ID method, I would suspect that some file in the docset is registered as being there twice for some obscure reason. Ishai Sagi | Solutions Architect 0488 789 786 | is...@exd.com.au | www.sharepoint-tips.com | @ishaisagi | MVP Profile From: ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com] On Behalf Of Tom O'Connor Sent: Monday, 8 July 2013 11:09 AM To: ozMOSS Subject: Re: Document Set Version Collection Corrupted What patch level are you at? Assuming SP2010. There is a fix in the following CU that looks to be a fix for your issue. http://support.microsoft.com/kb/2687545 On 8 July 2013 09:28, Nigel Witherdin nigel_wither...@hotmail.com wrote: Hey Guys, Just about to start looking into this one and trying some stuff, but as it is reasonably obscure thought I would throw it out there in case anyone else has encountered something similar. We have a library consisting of many thousands of document sets. Most of these document sets are fine, but have found one where trying to view the document set version history or create a new ds version throws an error: System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.get_ListItemUrlToInternalIdMap() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItemsb__b(SPListItem item) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItem(SPListItem item, Boolean fIncludeFolderItems, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItems(SPListItemCollection items, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.c__DisplayClass17.ProcessItemsInFolderb__16(SPListItemCollection items) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, SPQuery query, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, String strQuery, UInt32 rowLimit, Boolean fRecursive, SPFolder folder, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItemsInFolder(SPList list, SPFolder folder, Boolean fRecursive, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItemsInFolder(SPList list, SPFolder folder, Boolean fRecursive, Boolean fIncludeFolderItems, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItems() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Load() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Add(Boolean isLastMajor, String comments) at Microsoft.Office.DocumentManagement.Pages.CreateVersionUI.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer
RE: Document Set Version Collection Corrupted
Hey - an update for anyone interested. The CU does not appear to have helped, in fact proving the rule NEVER apply a CU unless you have to, and then only do it to DEV with lots of testing, it has broken the version history of all the document sets, giving the error: System.FormatException: String was not recognized as a valid DateTime.at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.ReadInSnapshotFields(XmlReader reader, DocumentSetVersion snapshot) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.ReadInSnapshots(XmlReader reader) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.Load() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.get_Count() at Microsoft.Office.DocumentManagement.Pages.DocumentSetVersionHistoryUI.Sort() at Microsoft.Office.DocumentManagement.Pages.DocumentSetVersionHistoryUI.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) On a brighter point, I wrote a script to show all the doc sets that had the issue (around 20 of the 4000 in the library), and it appears that all of these document sets have nearly-duplicate documents in them - that is, they have MSG files added to them which have the same filename (not including extension) as a PDF in the doc set. I believe deleting these files (and removing from the recycle bins) makes the whole thing work ok again - so well done Ishai!!! - but I am having to restore the environment to test properly thanks for your help guys! Date: Mon, 8 Jul 2013 12:27:32 +0930 Subject: Re: Document Set Version Collection Corrupted From: oconnor...@gmail.com To: ozmoss@ozmoss.com Hi Nigel, I vaguely remembered having a similar issue previously. I don't actually think it was the same problem, as Ishai said, it's a pretty generic error... I believe it was the same error but different circumstances. I just put my Googling hat on and this hotfix came up, it sounded relatively similar to what you were experiencing. Of course, I'd suggest testing this out on a test environment before rolling it out to production, ensuring it does actually resolve the problem. Cheers,Tom On 8 July 2013 11:59, Ishai Sagi is...@exd.com.au wrote: That fix may or may not be relevant – since it states that it is only about viewing version history, not creating a new one. The error is indicating that something that should be unique is duplicated – a regular unhelpful XML error. Since it is happening in a url to ID method, I would suspect that some file in the docset is registered as being there twice for some obscure reason. Ishai Sagi | Solutions Architect 0488 789 786 | is...@exd.com.au | www.sharepoint-tips.com | @ishaisagi | MVP Profile From: ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com] On Behalf Of Tom O'Connor Sent: Monday, 8 July 2013 11:09 AM To: ozMOSS Subject: Re: Document Set Version Collection Corrupted What patch level are you at? Assuming SP2010. There is a fix in the following CU that looks to be a fix for your issue. http://support.microsoft.com/kb/2687545 On 8 July 2013 09:28, Nigel Witherdin nigel_wither...@hotmail.com wrote: Hey Guys, Just about to start looking into this one and trying some stuff, but as it is reasonably obscure thought I would throw it out there in case anyone else has encountered something similar. We have a library consisting of many thousands of document sets. Most of these document sets are fine, but have found one where trying to view the document set version history or create a new ds version throws an error: System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.get_ListItemUrlToInternalIdMap() at Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetVersionCollection.CacheListItemsb__b(SPListItem item) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItem(SPListItem item, Boolean fIncludeFolderItems, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout) at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItems(SPListItemCollection items, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor