This blog highlight some of the error in BCC while pushing for
deployment and while performing the deployment in BCC. Also provide some
workaround and solution to resolve the issue. These are some common error while
are seen while working with BCC tool by the users.
Lock Conflict
Lock
conflict is most common error which BCC user encounter while pushing the
project for deployment. This is basically not the error in BCC, but a message which
state that the project cannot be pushed for deployment queues as project
contain some asset which are in process of deployment as part of the other
project.
We can check the asset(s) which are/is the asset(s) which are/is part
of the deployment as part of some other project and also get project name. We can
click on the locked conflict tab in the project work flow screen as show in the
screenshot attached below.
Resolution:
- Wait till the project which contains the conflicted asset gets deployed, so the lock conflict is automatically resolved.
- Remove the asset which is causing the lock conflict, but the change which are done in those asset will be lost, which can result in data corruption.
Merge Conflict
Merge
conflict is the next step of the lock conflict. It caused when the asset which
is part of the project is modified as part other project parallel and the other
project is completed the deployment before push this project. Then will
see that project throw merge conflict
and for that asset.
We can see the assets
which are causing the merge conflict for the project. We can click on the asset
tab and it will show all the merge conflict at the top.
Resolution:
We can see the assets which are causing the merge conflict
for the project. We can click on the asset tab and it will show all the merge
conflict at the top. We can see a link saying merge conflict, click on the link which will show both the version
that is the one which got deployed in the parallel project and the version
which is modified as part of this existing project.
Snapshot Mismatch
Snapshot error is
caused when the agent JVM losses the snapshot and the snapshot is null for the
agent.
- This is generally caused when we cancel the deployment and not allowing it to rollback due to canceling of deployment will cause the agent lose the snapshot.
- Agents lose the snapshot id even when we perform critical reset.
Resolution: we have to do a
full deployment to restore the snapshot in the agent JVM.
Workaround: To perform a full
deployment with a small set of data in BCC sound easy, but when we have large
set of data, perform full deployment is time consuming task.
The workaround for resolving the snapshot error is forcing the snapshot
using the DeploymentServer component
in BCC dyn/admin.
- Go to the CA Console >> overview >> (site which has error) >> project tab.
- We will have list of projects which are completed status.
- Copy the max snapshot ID which is the numeric at the right most columns.
- Go to the /atg/epub/DeploymentServer in BCC dyn/admin.
- We will have both the site. Force the snapshot by copying in the textbox and click init for the site which was showing the error.
Deployment hung in plan
Sometime we come
across a strange condition where we have pushed a project for deployment and it
is in plan and also appears in the next project to be deployed. But the
deployment is not getting started.
This happens in 2 scenarios
- User has cancelled the previous running deployment (not rollback but cancelled).
- User has halted the deployment.
Resolution:
- If it is the case of 1st scenario the Accepting Deployments, will be false. We can see this flag in “CA Console >> Overview >> (Site staging/production)>>details”. When it is due to Accepting Deployments flag, then perform critical reset by click on “critical reset” button in “CA Console >> Overview >> (Site staging/production)>>details”. After this activity, agent JVM will loss the snapshot, please force the snapshot Id
- If it is the case of 2nd scenario it will clear displayed, that “halted deployment” in red color in the “CA Console >> Overview >> (Site staging/production)”.When it is due to 2nd case then resume the deployment by click on “resume deployment” button in “CA Console >> Overview >> (Site staging/production)>>details”.
Good Write up Pradeep! very detailed information which a person without the JAVA background(Like me) can also understand. :)
ReplyDeleteThanks for sharing your knowledge....
ReplyDeleteExcellent write up!! Was just able to resolve the Hung Deployment issue.
ReplyDeleteThanks Pradeep.. It helped to fix some issues in my project. Thanks a lot
ReplyDeleteThank you sir..
DeleteI have many merge issues in my project. Im sure that is the only project that has asset during a time frame. Is that due to 2 is_head flag in pub schema.please help me to troubleshoot
ReplyDeleteI have many merge issues in my project. Im sure that is the only project that has asset during a time frame. Is that due to 2 is_head flag in pub schema.please help me to troubleshoot
ReplyDeleteThank you Pradeepa.
ReplyDeleteI am facing a different type of issue where I am unable to checkin my project in production due to violation of unique constraint DCS_CAT_CHLDCAT_P in dcs_cat_chldcat table.
When I saw the assets tab, found many of the assets to have merge conflicts.
Can you let me know how it can be possible to have merge conflicts in the Accept Production deployment stage, as according to the docs and above read, my project has held the lock to those assets?
Priyanka.
mail to: priyanka.c2501@gmail.com
Hi Priyanka C,
DeleteAs explain before, merge conflict is happen, when the perversion number for your asset is not is_head. Basically, if your asset product P1:6 (where 6 is asset version) is created with base version 4. but while pushing for deployment it will make check that 4 is is_head version. IF not than it is merge conflict.
As you are have mention that you project is failing the checking, when you go & check the issue, you find asset having merge conflict. It can happen in 2 scenarios.
1. Someone have cleared avm_asset_lock table (where enter is made for locked assets) and move their project and even checked in it, even than you will be able to see the enter of the asset in table, but not made by you project's but by other project. Check the workspace Id also.
2. If you have any custom workflow in system, do check where any of then DONT have "aqurie lock for asset task" as part of workflow. As it is one of the task as part of deployment to make a check in avm_asset_lock table and also make a entry for it's asset which as part of the project. If you have any such workflow, than a project with that workflow is be checked in before your's.
-Pradeep Kulkarni