DAF Deployment is a module included in Oracle Commerce which can be used to deploy repository and file-based assets from one server to another, usually from a management environment to a staging or production site.
The purpose of this blog article is to illustrate a tip for DAF Deployment that offers an option to speed up the deployment process when it is taking longer to complete than desired after successfully deployed contents to the target system.
When using DAF Deployment to deploy a large project (e.g. 200,000 assets or more), you can defer the step that purges deployment data in order to speed up the overall deployment process. After DAF Deployment successfully deployed assets to a target system, the process will transition to a clean up stage called the Deployment Completion phase, in which deployment data is purged. Essentially all of the assets of the project have already been deployed at this point and DAF Deployment just needs to clean up the deployment process data before finalizing the project. Transition to this phase can be observed in the Business Control Center (BCC) when the Deployment Console displays a change of the status message from "Gathering Data" to "Deployment Complete."
One way to speed up DAF Deployment and facilitate it to finish the process of deploying a large project is to disable the option to automatically purge deployment data. This implies that the deployment process data must be manually deleted after the process completes. To disable the step to purge deployment data, simply browse the /atg/deployment/DeploymentManager component page through the Asset Management (Publishing) system's Dynamo Administration (dyn/admin), access the purgeDeploymentData property and set it to false. This will prevent the deployment process from purging deployment data during the Deployment Completion phase, allowing the deployment process to finish more quickly and allowing subsequent deployments in the queue to start. Alternatively, the /atg/deployment/DeploymentManager configuration properties file can be added or updated by inserting the following line:
to bypass the purging of deployment data during the Deployment Completion phase. As usual, the Asset Management system needs to be restarted in order for this updated configuration to become effective. In case the deployment process is still spending some time during the Deployment Completion phase (the progress bar stays at 64% with a status message of "Deployment Complete" after turning off the option), the enablePurge option should also be switched to false to ensure the process is not purging any deployment data. Similarly the enablePurge option can also be disabled by adding the following line to the /atg/deployment/DeploymentManager configuration properties. Remember this change will become effective only after restarting the Asset Management system.
The reason for the additional time spent during the Deployment Completion phase is that the Asset Management system requires some time to execute the following DELETE query to purge deployment data.
DELETE FROM das_rep_mark WHERE rep_marker_id in ( SELECT marker_id FROM das_deploy_mark WHERE deployment_data = 'dd14005' )
By setting the purgeDeploymentData property to false, the deployment process will bypass execution of the above query during the Deployment Completion phase and proceed with finalizing the deployment, exiting out of the process so the current deployment can be removed from the deployment queue and the system can move forward with subsequent deployments.
After completing all deployments, the deployment data should be manually purged. Navigate to the DeploymentManager component page and invoke the purgeDataForCompletedDeployment method to delete all completed deployments data.
Information related to this tip can also be founded in the Oracle Support article with Document ID 1901892.1.