ALM sync broken between Production & Dev because of restore of Prod model to a historical ID
I am facing a issue where my ALM sync is broken between Production and Dev model.
This happened when I restored my PROD model to a historical ID. This rollback was done to an ID, which was before 2 revision tags synced from Dev.
For example, I synced my Prod model with Dev with RT1 & RT2, and in Dev I have already RT3. Now due to syncing with RT1 & RT2, my data in Prod model gets affected because of some calculations, so I had to revert my Prod model to ID, which was before sync with RT1 & RT2. This i had done by changing mode of Prod model from Deployed to Standard mode.
This has broken my ALM sync with DEV. Is there any way, I can get the sync back between Dev & Prod?
Appreciate your help.
No need to worry. You can easily restore the link
Leave the PROD model as it is; ie. just after your history restore to before RT1
Now restore the DEV model to the last sync to PROD. In your case that should be RT just before RT1. The history point will be called - 'Revision added by user'
After restoring the DEV model, create an empty revision tag and check if the sync works to PROD
Let me know if this works
In the future, please make sure the PROD model is always in the Deployed mode
@anirudh, Thanks for the quick response. I understand the solution given by you.
Just to clarify you want me to Restore Dev model to ID which was before RT1, say at "RT0".
But, as per my knowledge, when we create revision tag, Anaplan does not create any ID, so shall I revert the history just after RT0 creation? also would like to know, if you ever back tested this solution?
Just wanted to clear one thing, Now finally you want to keep the Dev Model RT 3 changes as Final or the Prod Revised History Model Change as Final.
I want to keep, Production model revised history as final.
You can create a Dev model from the latest Prod model and create a sync from it.
Please refer to Part B here. Creating a Dev model from Prod and establishing the ALM and sync.
Hope this helps for you.
@NakulAggarwal, Thanks for your inputs but I know this solution. It's just In my case, setting up of new dev model requires lot of time & efforts as we have to have some data set to start working there, and that will take time.
So I feel the solution given by @anirudh can help me. but wanted to sure on the questions I have.1
Yes I have tested this. The model sync will work as long as 2 models are structurally same. So revert history to just before the RT0 - Revision added manually by user.
Think of it this way; DEV model should be in exact same state as the PROD model is right now and since RT1 and RT2 changes have been reverted, the same must be done in DEV
Hi @anirudh, I tried the same way (restoring dev model to RT0, and creating a new RT) but still I am unable to see Dev model while syncing to Prod.0
I think, I found the catch. I just checked and found there is one new RT in PROD model, with name 'Copy Model'. It seems this revision tag was created while creating the new DEV model from PROD.
@anirudh Your previous solution should have worked if the new Dev was not created. Now, is there any thing we can do in this case?0
In case you chaged mode of the prod model and reverted it to an earlier history, its structural compatibilty with dev is broken and you need to revert the dev model to an history id which can cause to maintain structural compatibility between the dev and prod models, i.e revert it to a ID just after the id you have reverted prod model to, then create manual rev tag in dev and test if it works1
Hi @Kanishq17 ,
Thanks for the response! I tried doing same but, there is one more tweak in the situation, we have a new RT in PROD, which generated because of creation of new dev model through RT.
So after going through the steps you suggested, I am still not seeing dev model to sync while syncing it from Production.0
Here is my take on this issue. Have tried this two years back, worked then in an actual production environment. Tried that with two dummy models now - this approach still works.
Starting from the position when production model is restored to a history ID, the assumption here is that you still want to retain the changes that had come through from Dev till that point. If it is otherwise, then it is better off to create a new Dev model anyways. Here are the steps (actually pretty simple) to follow to restore Dev - Prod connnection.
- Once you have the prod model in a normal state (and not in deployed mode), go to Revision Tags
- Click on "Revert to Last Revision"
- This will structurally restore the model to the last revision tag it was synced to
- This will not alter any data entry on the prod model (I have checked - good to double check this point)
- Change mode to "Deployed"
- In order to test connection with Dev model, create a revision tag which should be after the synced revision tag of Prod. If you already have such a revision tag, ignore this step
- Try to sync between prod and dev!
Let me know if this works.
I am not certain about @anirudh approach if it gets the compatibility back.
However if there is a bad code which wipes out the data in Production environment, there is one safe way to retrieve the Production data without breaking the Sync with Dev
Step 1: Take the model out of deployed mode
Step 2: Restore the Production Model to Historical ID that you want it to have
Step 3: Take the backup of the data that you just lost because of the bad code in the latest Revision tag
Step 4: Click on Revert to Last Revision
Step 5: Put the model back on Deployed Mode.
Step 6: Load the data again into your Production Model1
in case you need to create a new dev model from prod model , instead of creating it using RT, you could have imported it ,
in that dev model, can you try to revert to id just after RT1 and then maybe try if the sync happens, as per alm in case prod is exact structurally compatible to dev and a later rt is available in dev, models should sync0
Here the assumption itself doesn't gets fit in my case. I don't wan't the changes came from DEV as those were Switchover related changes and that has created lot of data issue.
so here as per you, the solution will be to create new dev. will work on it.
Anyways, thanks for the response!0
Thanks for your response!
I agreed on below solution, but this is not related to data loss, this is some data calculation issue.
Actually the changes made were related to Model switchover and we have only 1 Past year in our model, so switchover model has deleted all the data related to Previous year. Also, wherever in our statements data, Payment is zero, same gets deleted through automated action. so this has caused incorrect set of data and calculation in Prod model and therefore we have to revert it back to restore ID before changes made.0
Were you able to resolve the issue? Sorry not able to follow your latest reply. Did the RT not show up after restoring DEV model? Hope there is only 1 DEV instance...0
No, my issue is not resolved. I was not able to see the DEV model while syncing with Prod.
When I checked further, I found there is one new RT in PROD model, with name 'Copy Model'. It seems this revision tag was created while creating the new DEV model from PROD (done by one of my colleague on 5th June).
Your previous solution should have worked if the new Dev was not created. Now, is there any thing we can do in this case?0
Other models' existence will not impact availability of the sync option. You should be able to see your original DEV model as well as Copy Model created by your colleague. Could you please share a screenshot of the history restores in both PROD and DEV? Let's see if we can't still fix it this way.
Other option is you will have to archive the current DEV model and create a new DEV model through a copy of the current PROD model
Follow the steps that @Misbah stated, but then continue with these:
- Step 7 - Go into Dev and change the switchover data to what you want
- Step 8 - Create a Revision Tag in Dev
- Step 9 - Sync Dev with Prod.
Hope this helps and remember, please do not take a model out of Deployed status.