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.<CacheListItems>b__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.<ProcessItemsInFolder>b__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                           
          

<<inline: image003.jpg>>

_______________________________________________
ozmoss mailing list
ozmoss@ozmoss.com
http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss

Reply via email to