SharePoint 2010 /2013: “An exception of type Microsoft.SharePoint.Administration.SPUpdatedConcurrencyException was thrown” while installing an update


You try to install cumulative updates for SharePoint 2010 and 2013, and you encounter this error:

An exception of type Microsoft.SharePoint.Administration.SPUpdatedConcurrencyException was thrown.  Additional exception information: An update conflict has occurred, and you must re-try this action. The object SPUpgradeSession Name=Upgrade-DATE-TIME-RAND was updated by DOMAIN\user, in the PSCONFIG (PID) process, on machine MACHINENAME.  View the tracing log for more information about the conflict.

CAUSE

This exception can be caused by a race condition (at least two threads access shared data and try to change it concurrently) when Psconfig tries to update sites, tables, or databases. This scenario is a rare occurrence during a SharePoint upgrade.

WORKAROUND

Use the following PowerShell script to open Psconfig with single processor affinity to force the utility to run one update at a time:

SP 2010

$cmd="start "+""""" /affinity 1 "+"""C:\Program Files\Common Files\microsoft shared\Web Server Extensions\14\BIN\Psconfig.exe""" + " -cmd" +  " upgrade" + " -inplace" + " b2b" + " -wait"
cmd.exe /c $cmd

SP 2013

$cmd="start "+""""" /affinity 1 "+"""C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\BIN\Psconfig.exe""" + " -cmd" +  " upgrade" + " -inplace" + " b2b" + " -wait"
cmd.exe /c $cmd

To verify that this process opened by using single core affinity only, follow these steps:

1. Open the Task Manager

2. See details

3. Locate the running process for Psconfig

4. Right-click the process and select Set Affinity: you should see only CPU 0 selected

5. Let the Psconfig process complete

MORE INFORMATION

The workaround script configures single core affinity without using the -force parameter. This -force parameter ignores errors or skips steps that are required for SharePoint upgrades to be installed. In this scenario, two processes try to use the same resources while they are running on different server cores. Configuring for single core affinity prevents these processes from using mutual resources.

 

POST BY : Paul Haskew [MSFT]


Comments (6)

  1. Confused User says:

    Why so complicated?

    Why not just run this from the command line:

    start /affinity 1 "C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions14BINPsconfig.exe" -cmd upgrade -inplace b2b -wait

    No need for cracy Powershell constructs just to execute a single command from the command line.

  2. Vladilen says:

    Your solution doesn't work for me.

    "PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources"

    works

    1. Sven says:

      Vladilen’s worked perfect for me (other options I didn’t try).

  3. Binayak Joshi says:

    It works perfectly fine for me. Thanks Paul !

  4. Dave M. says:

    Thank you! I think the concurrency issue broke my IIS SharePoint redirect from 80 to 443 port. All my other IIS sites on that server were working. So I went in to the SharePoint – 80 IIS site > Basic Settings and fixed the web config redirect on c:\inetpub\wwwroot to point to the HTTPS site again. Then I was able to browse SharePoint. Then I still had to run your command to complete the fix. This cost me hours before I found your solution. Thanks for saving me even more hours!

  5. Rahul Rohra says:

    Thank you so much Paul..This resolved the long pending issue.

Skip to main content