HRD migration process - needs better explanation of steps and user processes

121 views
Skip to first unread message

Dennis

unread,
Jan 14, 2013, 10:50:32 AM1/14/13
to google-a...@googlegroups.com

I'm in the process of migrating from master-slave datastore to hrd.

I followed the instructions, blindly, because there is little explanation of what is happening in each phase.
Now, i'm just before the last phase of "finish migration".
But I test my hrd app: it does not work.
the logs say that writes have been disabled.  there was no mention of that in the docs.

what should I do?
enable writes in my hrd and test the app?
if it has problems then abort the migration?
there is no mention of "enabling writes" in the hrd migration docs.

Dennis

unread,
Jan 14, 2013, 2:00:56 PM1/14/13
to google-a...@googlegroups.com
oh, now i see the instructions: they are not in the docs but only appear on the migration webpage when the migration reaches the last phase:


The data copy is now complete. You can validate the destination app's performance on the High Replication datastore before redirecting traffic to the new app.
You may set the destination to read-write mode and redirect traffic to there now. This step can not be reverted.


my app is just a prototype.  so, i'm assuming that if I enable read-write mode on both the source and destination at this point,
then i have a working backup of my original source app + a working HRD version of my app that i can start writing to and validating with my code (not just by looking at the datastore values).
the HRD version can't be reverted, but the source master-slave app can be re-migrated if there turn out to be problems with the hrd version, right?

Takashi Matsuo

unread,
Jan 14, 2013, 6:44:15 PM1/14/13
to google-a...@googlegroups.com

Hi Dennis,

On Mon, Jan 14, 2013 at 11:00 AM, Dennis <denni...@gmail.com> wrote:
oh, now i see the instructions: they are not in the docs but only appear on the migration webpage when the migration reaches the last phase:


The data copy is now complete. You can validate the destination app's performance on the High Replication datastore before redirecting traffic to the new app.
You may set the destination to read-write mode and redirect traffic to there now. This step can not be reverted.


my app is just a prototype.  so, i'm assuming that if I enable read-write mode on both the source and destination at this point,
then i have a working backup of my original source app + a working HRD version of my app that i can start writing to and validating with my code (not just by looking at the datastore values).
the HRD version can't be reverted, but the source master-slave app can be re-migrated if there turn out to be problems with the hrd version, right?

Unfortunately, there is no easy way for re-migrating the old app once if you go beyond the last step of the migration.
 


On Monday, January 14, 2013 11:50:32 PM UTC+8, Dennis wrote:

I'm in the process of migrating from master-slave datastore to hrd.

I followed the instructions, blindly, because there is little explanation of what is happening in each phase.
Now, i'm just before the last phase of "finish migration".
But I test my hrd app: it does not work.
the logs say that writes have been disabled.  there was no mention of that in the docs.

what should I do?
enable writes in my hrd and test the app?
if it has problems then abort the migration?
there is no mention of "enabling writes" in the hrd migration docs.

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/VZG5VyMlEH4J.

To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.



--
Takashi Matsuo | Developers Advocate | tma...@google.com

Dennis

unread,
Jan 15, 2013, 2:27:53 PM1/15/13
to google-a...@googlegroups.com
I'm testing my new hrd version of the app now.
I have found some differences that need to be debugged.
One thing I wish I had done before migrating (not mentioned in docs): upgraded my appengine SDK to the latest version before starting the migration...

On the other hand, I'm still using appengine patch (aepatch) so even upgrading the sdk is risky.
My sdk is: release: "1.5.2"

Dennis

unread,
Jan 16, 2013, 5:11:13 AM1/16/13
to google-a...@googlegroups.com
The differences turned out to be caused by my initialization of the new app, so the hrd migration did not introduce any problems in my case.

However, another point that would be good to document: you will end up creating a new local dev app that matches the hrd app.  And it will start with no data.  
For my website, it's a non-trivial process to initialize the website from an empty datastore.
Thus, make sure you can do this before you start the migration.

Unrelated but interesting: there was data in my master-slave app that was inaccessible before ... "lost data".  Now, after the migration, the same code can now access that "lost data".  I'm glad it was transferred ok and is now accessible!

alex

unread,
Jan 16, 2013, 5:48:02 AM1/16/13
to google-a...@googlegroups.com
> However, another point that would be good to document: you will end up
> creating a new local dev app that matches the hrd app. And it will start
> with no data.
> For my website, it's a non-trivial process to initialize the website from an
> empty datastore.

you could use bulk loader. works for local app too.
> https://groups.google.com/d/msg/google-appengine/-/GiFxIfkeGSYJ.

Dennis

unread,
Jan 30, 2013, 1:46:34 AM1/30/13
to google-a...@googlegroups.com
my data is back to being "unaccessible" even on HRD -- i get a DeadlineExceededError after trying for 60 seconds.

it could be a program bug (even though the code has not changed), but just thought i would mention it in case others have this problem.
Reply all
Reply to author
Forward
0 new messages