Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

DbUpdateConcurrencyException

The synchronization of a CXO application users occurs within a single transaction. When users are synchronized it causes a number of other objects modified. If one of the objects is modified outside of the transaction before it completes it will cause a DbUpdateConcurrencyException. The best way to prevent it depends on the way the command line interface is useda user is updated or deleted many other resources (conversations, storyboards, reports, etc..) also need to be modified. For performance reason, CXO doesn’t lock these resources. If they are modified while the synchronization is in progress an error will occur and the transaction will be rolled back.

If this error occurs, try the following:

  • Retry

  • Make sure to the user synchronization runs at a time where CXO is not usedin use.

  • Pause the agent service either programmatically or in the configuratorbefore running the synchronization.

To pause the agent service :

The agent service is used by CXO to perform certain jobs like cleaning up databases, send emails, etc.. When running certain jobs the agent can conflict with the user synchronization API.

Stop them you have two options:

Stop it programmatically

Code Block
Stop-Service -Name "CXO-Cockpit Agent"
<run synchronizatiob>
Start-Service -Name "CXO-Cockpit Agent"

...

  1. Open the configurator>configuration>schedule.xm

  2. for each of the following jobs make sure they do not run while the user synchronization is in progress: UnreadConversationMessagesNotificationJob, EmailJob, screenShotsJob, CleanUpJob

  3. Edit the trigger’s cron expression

    Image Removed

    the Cron expression

    Image Added

  4. Make sure it does not run at hours where the user synchronization is scheduled. You can use a CRON expression editor:

    Image AddedImage Added