Troubleshooting: Save conflict error

You receive a save conflict when you try to run a job that requires an EAR update.

Problem

When trying to run a job that requires an EAR update you receive an error about a save conflict. For example, if you were attempting to deploy with the WebSphere Commerce Build and Deployment tool, the deployment fails with the following error in WCBD_installdir/logs/<build label>/wcbd-build.log:
[wsadmin] Started: 2010/10/10 10:10:10
[wsadmin] WASX7017E: Exception received while running file 
"C:\IBM\WebSphere\CommerceServer70\wcbd\dist\server\wcbd-deploy-server-<build label>/scripts/wcbd-wsadmin.py"; 
exception information: com.ibm.websphere.management.exception.ConfigServiceException
[wsadmin] com.ibm.ws.sm.workspace.WorkSpaceException: RepositoryException while retry updating documents in master repository
[wsadmin]
[wsadmin] WASX7341W: No "save" was performed before the interactive scripting session exited; configuration changes will not be saved. 

Solution

This issue is typically caused by more that one EAR update taking place at the same time. WebSphere Application Server does not support multiple clients updating a single EAR at the same time.

This can occur if any of the following actions occur at the same time:
  • Roll out update
  • Feature enablement
  • Customization deployment
  • Site map
  • Store Publish
  • Stage Propagation
  • File or attachment upload
  • Installation of other product fixes
  • Update Logo
  • PCI Encryption
  • Any explicit EAR update such as the deployment of customizations through the WebSphere Application Server
Another client may be running an EAR update, for example, a scheduled job, to the WebSphere Commerce application. To solve the problem, you can take either of the following actions:
  • Rerun the job at a later time when the other client has finished running.
  • Ensure that other clients will not start running. For example, if there are scheduled jobs that update the EAR, disable the scheduled jobs temporally before you start the job you need to run.