Solved

Content deployment job fails: field name already exists

Posted on 2013-06-13
3
1,040 Views
Last Modified: 2013-08-01
Hi,

I have a content deployment job that fails. It seems to have something to do with a Field name that already exists. The object is User Information List (at least that's what it says in the SP2010 Central admin event details).

How can I fix this? All help greatly appreciated :)

Here's the info from the event log:
Log Name:      Application
Source:        Microsoft-SharePoint Products-Web Content Management
Date:          13.06.2013 09:44:45
Event ID:      4958
Task Category: Content Deployment
Level:         Error
Keywords:      
User:          DOMAIN\sp_farm
Computer:      spserver.domain.local
Description:
Publishing: Content deployment job failed. Error: 'Microsoft.SharePoint.SPException: Field name already exists.

The name used for this field is already used by another field in the list.  Select another name and try again. ---> System.Runtime.InteropServices.COMException (0x81020013): Field name already exists.

The name used for this field is already used by another field in the list.  Select another name and try again.<nativehr>0x81020013</nativehr><nativestack></nativestack>
   at Microsoft.SharePoint.Library.SPRequestInternalClass.UpdateField(String bstrUrl, String bstrListName, String bstrXML)
   at Microsoft.SharePoint.Library.SPRequest.UpdateField(String bstrUrl, String bstrListName, String bstrXML)
   --- End of inner exception stack trace ---
   at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)
   at Microsoft.SharePoint.Library.SPRequest.UpdateField(String bstrUrl, String bstrListName, String bstrXML)
   at Microsoft.SharePoint.SPField.set_SchemaXml(String value)
   at Microsoft.SharePoint.Deployment.ListSerializer.CreateOrUpdateField(SPList list, String fieldName, XmlNode fieldNode)
   at Microsoft.SharePoint.Deployment.ListSerializer.UpdateListFields(SPList list, Dictionary`2 listMetaData)
   at Microsoft.SharePoint.Deployment.ListSerializer.SetObjectData(Object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.XmlFormatter.CallSetObjectData(Object obj, SerializationInfo objectData, ISerializationSurrogate surrogate, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.XmlFormatter.ParseObject(Type objectType, Boolean isChildObject)
   at Microsoft.SharePoint.Deployment.XmlFormatter.DeserializeObject(Type objectType, Boolean isChildObject, DeploymentObject envelope)
   at Microsoft.SharePoint.Deployment.XmlFormatter.Deserialize(Stream serializationStream)
   at Microsoft.SharePoint.Deployment.ObjectSerializer.Deserialize(Stream serializationStream)
   at Microsoft.SharePoint.Deployment.SPImport.DeserializeObjects()
   at Microsoft.SharePoint.Deployment.SPImport.Run()
   at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.DoImport()
   at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.ExecuteJob(String callingTimerJobName, Guid timerJobId)
   at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.InternalRun(Boolean runAsynchronously, String timerJobName, Guid timerJobId)
   at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJobDefinition.Execute(Guid targetInstanceId)'
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-SharePoint Products-Web Content Management" Guid="{0119F589-72D7-4EC3-ADF5-1F082061E832}" />
    <EventID>4958</EventID>
    <Version>14</Version>
    <Level>2</Level>
    <Task>2</Task>
    <Opcode>0</Opcode>
    <Keywords>0x4000000000000000</Keywords>
    <TimeCreated SystemTime="2013-06-13T07:44:45.959986100Z" />
    <EventRecordID>260635</EventRecordID>
    <Correlation ActivityID="{6A74D576-5B2C-44EB-9A0E-30FD8C277859}" />
    <Execution ProcessID="3144" ThreadID="15336" />
    <Channel>Application</Channel>
    <Computer>spserver.domain.local</Computer>
    <Security UserID="S-1-5-21-2812511754-123718817-1394069073-3146" />
  </System>
  <EventData>
    <Data Name="string0">Microsoft.SharePoint.SPException: Field name already exists.

The name used for this field is already used by another field in the list.  Select another name and try again. ---&gt; System.Runtime.InteropServices.COMException (0x81020013): Field name already exists.

The name used for this field is already used by another field in the list.  Select another name and try again.&lt;nativehr&gt;0x81020013&lt;/nativehr&gt;&lt;nativestack&gt;&lt;/nativestack&gt;
   at Microsoft.SharePoint.Library.SPRequestInternalClass.UpdateField(String bstrUrl, String bstrListName, String bstrXML)
   at Microsoft.SharePoint.Library.SPRequest.UpdateField(String bstrUrl, String bstrListName, String bstrXML)
   --- End of inner exception stack trace ---
   at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)
   at Microsoft.SharePoint.Library.SPRequest.UpdateField(String bstrUrl, String bstrListName, String bstrXML)
   at Microsoft.SharePoint.SPField.set_SchemaXml(String value)
   at Microsoft.SharePoint.Deployment.ListSerializer.CreateOrUpdateField(SPList list, String fieldName, XmlNode fieldNode)
   at Microsoft.SharePoint.Deployment.ListSerializer.UpdateListFields(SPList list, Dictionary`2 listMetaData)
   at Microsoft.SharePoint.Deployment.ListSerializer.SetObjectData(Object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.XmlFormatter.CallSetObjectData(Object obj, SerializationInfo objectData, ISerializationSurrogate surrogate, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.XmlFormatter.ParseObject(Type objectType, Boolean isChildObject)
   at Microsoft.SharePoint.Deployment.XmlFormatter.DeserializeObject(Type objectType, Boolean isChildObject, DeploymentObject envelope)
   at Microsoft.SharePoint.Deployment.XmlFormatter.Deserialize(Stream serializationStream)
   at Microsoft.SharePoint.Deployment.ObjectSerializer.Deserialize(Stream serializationStream)
   at Microsoft.SharePoint.Deployment.SPImport.DeserializeObjects()
   at Microsoft.SharePoint.Deployment.SPImport.Run()
   at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.DoImport()
   at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.ExecuteJob(String callingTimerJobName, Guid timerJobId)
   at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.InternalRun(Boolean runAsynchronously, String timerJobName, Guid timerJobId)
   at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJobDefinition.Execute(Guid targetInstanceId)</Data>
  </EventData>
</Event>

Open in new window

0
Comment
Question by:cegeland
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 8

Expert Comment

by:vaderj
ID: 39244438
Content deployment is a fickle b!***.... I have been battling it myself for weeks now.  For your situation, I would recommend removing and starting fresh.  How are your path and jobs setup?
If possible, deploy full site collections at a time, don't break it up.  Content deployment gets broken when you have jobs with over lapping objects.
What we did too clear (most) of our issues was:
Destination:
Export existing security and alerts
Detach old content database
Create a new content database with an EMPTY site collection (that you choose the template at a later date)

 Source:
Remove all content deployment paths related to this web app
 Create a new path - make sure your service account had permissions!
Create a new job that deploys the entire site collection.
 If your destination server is in a different domain, do not deploy usernames.
Also, ensure you have 2x the free space of the size of your content database on both temp drives, plus the receiving sql server.
Good luck !
0
 

Author Comment

by:cegeland
ID: 39245753
Thanks for your reply.

We have a source site which requires login and a public facing site collection wich is a copy of the source collection only that parts of the site collection has anonymous access enabled. Long story short the best way to deal with the anonymous access was to use a content content deployment job. If I remember correctly it had something to do with "browser file handling". The content deplyment job copies the entire site collection. Everything has worked perfectly for a year or so - until yesterday.

Is there a way to find out which fields are causing the problem? It looks like it is only 3 fields and maby there is a way to delete them?
0
 
LVL 8

Accepted Solution

by:
vaderj earned 500 total points
ID: 39245800
You can't just delete the items because then the content deployment job will be confused as there was no change token (a content deployment thing) issued. Since its the entire site collection, you might just delete the destination site collection and redeploy. We actually had the same happen to our customer facing site and my team and I were up until 4am (it's a big site) getting the thing redeployed.
My recommendation is to start with a fresh content db, but otherwise delete the site collection and kick off the deployment job, messing with the columns might work, but it caused us nothing but heart ache and a very long day.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The Scenario: Let’s say you have a quote worksheet in Excel that you use to work up sales figures and such for your clients. You utilize SharePoint to manage and keep track of these documents. You would like values from your worksheet to populate Sh…
These days socially coordinated efforts have turned into a critical requirement for enterprises.
In this video, viewers will be given step by step instructions on adjusting mouse, pointer and cursor visibility in Microsoft Windows 10. The video seeks to educate those who are struggling with the new Windows 10 Graphical User Interface. Change Cu…
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question