none
Project Server 2010 Microsoft Exchange Task Sync Issue with Corrupt User RRS feed

  • Question

  • Hello, I am struggling with a single resource in my enterprise resource database that is causing Exchanger Server Task Sync to fail. If I uncheck task sync for this resource the task sync process completes fine. I am pasting in the log for the error that Project Server 2010 is throwing when you publish a project. Can anyone give me a few ideas on what I might be able to try?

    Thank you for the help! Jeff Miller

      • ExchangeSyncGeneralProcessingFailure (40512). Details: id='40512'
        name='ExchangeSyncGeneralProcessingFailure'
        uid='efce5d8e-a4d6-4b00-9cd7-5ef272d23eb5'
        teamMemberUid='9c92f5e7-dd9f-455a-a22c-2f9415b4ba56'
        exception='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.Project.Server.ExchangeSync.ExchangeSyncUtil.LoadTaskIdMap(ExchangeSyncDataSet
        ds) at
        Microsoft.Office.Project.Server.ExchangeSync.ExchangeSyncUtil.ProcessDataset(ExchangeSyncDataSet
        ds, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.UpdateExchange(ExchangeSyncUtil
        sync, ExchangeSyncDataSet toExchange, Dictionary`2 inProjectServer, List`1
        unsyncedTasks, List`1 projectUpdatedTasks, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.ExecuteSync(ExchangeSyncTasks
        exchangeSyncTasks) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.HandleMessage(Message
        msg, Group messageGroup, JobTicket jobTicket, MessageContext mContext)'.
      • ExchangeSyncGeneralProcessingFailure (40512). Details: id='40512'
        name='ExchangeSyncGeneralProcessingFailure'
        uid='1b1aa921-48db-402e-a23f-80531f236950'
        teamMemberUid='9c92f5e7-dd9f-455a-a22c-2f9415b4ba56'
        exception='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.Project.Server.ExchangeSync.ExchangeSyncUtil.LoadTaskIdMap(ExchangeSyncDataSet
        ds) at
        Microsoft.Office.Project.Server.ExchangeSync.ExchangeSyncUtil.ProcessDataset(ExchangeSyncDataSet
        ds, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.UpdateExchange(ExchangeSyncUtil
        sync, ExchangeSyncDataSet toExchange, Dictionary`2 inProjectServer, List`1
        unsyncedTasks, List`1 projectUpdatedTasks, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.ExecuteSync(ExchangeSyncTasks
        exchangeSyncTasks) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.HandleMessage(Message
        msg, Group messageGroup, JobTicket jobTicket, MessageContext mContext)'.
      • ExchangeSyncGeneralProcessingFailure (40512). Details: id='40512'
        name='ExchangeSyncGeneralProcessingFailure'
        uid='388e2c4b-ab0c-4156-ba58-20b7e34c22a4'
        teamMemberUid='9c92f5e7-dd9f-455a-a22c-2f9415b4ba56'
        exception='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.Project.Server.ExchangeSync.ExchangeSyncUtil.LoadTaskIdMap(ExchangeSyncDataSet
        ds) at
        Microsoft.Office.Project.Server.ExchangeSync.ExchangeSyncUtil.ProcessDataset(ExchangeSyncDataSet
        ds, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.UpdateExchange(ExchangeSyncUtil
        sync, ExchangeSyncDataSet toExchange, Dictionary`2 inProjectServer, List`1
        unsyncedTasks, List`1 projectUpdatedTasks, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.ExecuteSync(ExchangeSyncTasks
        exchangeSyncTasks) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.HandleMessage(Message
        msg, Group messageGroup, JobTicket jobTicket, MessageContext mContext)'.
      • ExchangeSyncGeneralProcessingFailure (40512). Details: id='40512'
        name='ExchangeSyncGeneralProcessingFailure'
        uid='e6f46d12-8b1a-4a08-90d6-3c8c9b120e3d'
        teamMemberUid='9c92f5e7-dd9f-455a-a22c-2f9415b4ba56'
        exception='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.Project.Server.ExchangeSync.ExchangeSyncUtil.LoadTaskIdMap(ExchangeSyncDataSet
        ds) at
        Microsoft.Office.Project.Server.ExchangeSync.ExchangeSyncUtil.ProcessDataset(ExchangeSyncDataSet
        ds, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.UpdateExchange(ExchangeSyncUtil
        sync, ExchangeSyncDataSet toExchange, Dictionary`2 inProjectServer, List`1
        unsyncedTasks, List`1 projectUpdatedTasks, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.ExecuteSync(ExchangeSyncTasks
        exchangeSyncTasks) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.HandleMessage(Message
        msg, Group messageGroup, JobTicket jobTicket, MessageContext mContext)'.
      • ExchangeSyncGeneralProcessingFailure (40512). Details: id='40512'
        name='ExchangeSyncGeneralProcessingFailure'
        uid='dfc2fe90-9736-49ca-9025-8cbf0974afd5'
        teamMemberUid='9c92f5e7-dd9f-455a-a22c-2f9415b4ba56'
        exception='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.Project.Server.ExchangeSync.ExchangeSyncUtil.LoadTaskIdMap(ExchangeSyncDataSet
        ds) at
        Microsoft.Office.Project.Server.ExchangeSync.ExchangeSyncUtil.ProcessDataset(ExchangeSyncDataSet
        ds, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.UpdateExchange(ExchangeSyncUtil
        sync, ExchangeSyncDataSet toExchange, Dictionary`2 inProjectServer, List`1
        unsyncedTasks, List`1 projectUpdatedTasks, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.ExecuteSync(ExchangeSyncTasks
        exchangeSyncTasks) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.HandleMessage(Message
        msg, Group messageGroup, JobTicket jobTicket, MessageContext mContext)'.
      • ExchangeSyncGeneralProcessingFailure (40512). Details: id='40512'
        name='ExchangeSyncGeneralProcessingFailure'
        uid='586e4d94-d24a-42c1-b84f-4af471c5f687'
        teamMemberUid='9c92f5e7-dd9f-455a-a22c-2f9415b4ba56'
        exception='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.Project.Server.ExchangeSync.ExchangeSyncUtil.LoadTaskIdMap(ExchangeSyncDataSet
        ds) at
        Microsoft.Office.Project.Server.ExchangeSync.ExchangeSyncUtil.ProcessDataset(ExchangeSyncDataSet
        ds, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.UpdateExchange(ExchangeSyncUtil
        sync, ExchangeSyncDataSet toExchange, Dictionary`2 inProjectServer, List`1
        unsyncedTasks, List`1 projectUpdatedTasks, Guid effectiveUserUid) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.ExecuteSync(ExchangeSyncTasks
        exchangeSyncTasks) at
        Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.HandleMessage(Message
        msg, Group messageGroup, JobTicket jobTicket, MessageContext mContext)'.
    • Queue:
      • GeneralQueueJobFailed (26000) -
        ExchangeSyncTasks.ExchangeSyncTasks. Details: id='26000'
        name='GeneralQueueJobFailed' uid='49190d53-0c53-46e1-a74e-b41fabd2838d'
        JobUID='45bc5dd9-5020-4271-9e52-bbcd6efc9884' ComputerName='HG-MSS2010E'
        GroupType='ExchangeSyncTasks' MessageType='ExchangeSyncTasks' MessageId='1'
        Stage=''. For more details, check the ULS logs on machine HG-MSS2010E for
        entries with JobUID 45bc5dd9-5020-4271-9e52-bbcd6efc9884.

    Jeff Miller

    Tuesday, April 9, 2013 9:06 PM

Answers

  • Looks like exchange sync is failing due to duplicate entry,try clearing AD GUID for specific resource

    Hrishi Deshpande – Senior Consultant DeltaBahn
    Blog | < | LinkedIn

    Please click Mark As Answer; if a post solves your problem or Vote As Helpful if a post has been useful to you.This can be beneficial to other community members reading the thread.

    • Marked as answer by CJMiller10 Wednesday, April 10, 2013 10:29 PM
    Wednesday, April 10, 2013 5:27 AM
    Moderator

All replies

  • Jeff,

    Do you use AD sync to add users in PWA?


    Hrishi Deshpande – Senior Consultant DeltaBahn
    Blog | < | LinkedIn

    Please click Mark As Answer; if a post solves your problem or Vote As Helpful if a post has been useful to you.This can be beneficial to other community members reading the thread.

    Tuesday, April 9, 2013 11:12 PM
    Moderator
  • Hrishi, When we originally created the users we did a AD sync but we typically add them manually now. The user that I am having trouble with should have been added with my initial AD sync though. Thank you for your response. Jeff

    Jeff Miller

    Wednesday, April 10, 2013 4:54 AM
  • Looks like exchange sync is failing due to duplicate entry,try clearing AD GUID for specific resource

    Hrishi Deshpande – Senior Consultant DeltaBahn
    Blog | < | LinkedIn

    Please click Mark As Answer; if a post solves your problem or Vote As Helpful if a post has been useful to you.This can be beneficial to other community members reading the thread.

    • Marked as answer by CJMiller10 Wednesday, April 10, 2013 10:29 PM
    Wednesday, April 10, 2013 5:27 AM
    Moderator
  • Hrishi,

    I had my IT guys clear the AD GUID and then I caused an Exchange Server sync and no errors that time. Thank you for the help!

    Jeff


    Jeff Miller

    Wednesday, April 10, 2013 10:28 PM
  • Glad I could help.

    Hrishi Deshpande – Senior Consultant DeltaBahn
    Blog | < | LinkedIn

    Please click Mark As Answer; if a post solves your problem or Vote As Helpful if a post has been useful to you.This can be beneficial to other community members reading the thread.

    Wednesday, April 10, 2013 10:49 PM
    Moderator
  • Hi,

    I have the same issue. How did you determine what resource was causing the problem?. Also, what does "clearing the AD GUID?" involve?

    thanks.

    Saturday, July 20, 2013 12:14 PM
  • brownfc- if you look at Jeff's error log in the original post, you'll see 

    teamMemberUid='9c92f5e7-dd9f-455a-a22c-2f9415b4ba56' 
    This is the Resource UID of the resource causing the problem.  Using SQL Management Studio, query your PublishedDb.dbo.MSP_RESOURCES for that Guid in the RES_UID column.  Then delete the value in the WRES_AD_GUID column for that user.
    Monday, July 22, 2013 4:59 PM
  • Hi,

    thanks. The strange thing is that the RES_UID belongs to the Project Manager who is publishing the project.

       <class name="ExchangeSync() handle ExchangeSyncStatusingMessage for user (2bf044d1-357c-4bc7-8133-5152a44488df) queue message caused exception.">

          <error id="40512" name="ExchangeSyncGeneralProcessingFailure" uid="f4fb326e-0443-4063-867d-95f50f4efcd0" teamMemberUid="2bf044d1-357c-4bc7-8133-5152a44488df" exception="System.ArgumentException: An item with the same key has already been added.&#xD;&#xA;   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)&#xD;&#xA;   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)&#xD;&#xA;   at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)&#xD;&#xA;   at Microsoft.Office.Project.Server.ExchangeSync.ExchangeSyncUtil.LoadTaskIdMap(ExchangeSyncDataSet ds)&#xD;&#xA;   at Microsoft.Office.Project.Server.ExchangeSync.ExchangeSyncUtil.ProcessDataset(ExchangeSyncDataSet ds, Guid effectiveUserUid)&#xD;&#xA;   at Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.UpdateExchange(ExchangeSyncUtil sync, ExchangeSyncDataSet toExchange, Dictionary`2 inProjectServer, List`1 unsyncedTasks, List`1 projectUpdatedTasks, Guid effectiveUserUid)&#xD;&#xA;   at Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.ExecuteSync(ExchangeSyncTasks exchangeSyncTasks)&#xD;&#xA;   at Microsoft.Office.Project.Server.BusinessLayer.Queue.ProcessExchangeSyncMessage.HandleMessage(Message msg, Group messageGroup, JobTicket jobTicket, MessageContext mContext)" />

    Tuesday, July 23, 2013 10:10 AM
  • Clearing the WRES_AD_GUID  wont hurt. Next time if you perform AD sync this GUID will be updated. Here is the query which can be executed on Published database. Remember, Microsoft won't recommend or encourage executing any queries on any other database other than reporting database. Before executing this query I would strongly recommend to have proper db and farm backup.

    UPDATE MSP_RESOURCES SET WRES_AD_GUID = NULL where RES_UID='9c92f5e7-dd9f-455a-a22c-2f9415b4ba56' 


    Hrishi Deshpande – Senior Consultant DeltaBahn
    Blog | < | LinkedIn

    Please click Mark As Answer; if a post solves your problem or Vote As Helpful if a post has been useful to you.This can be beneficial to other community members reading the thread.

    • Proposed as answer by brownfc Friday, August 2, 2013 1:51 PM
    Tuesday, July 23, 2013 4:31 PM
    Moderator
  • great, thanks. The next time this happens I try your suggestion.
    Friday, August 2, 2013 1:51 PM