I went through a Master/Slave -> High Replication migration over the weekend and it didn't go well. Hoping I can get some info on if we did anything wrong but mostly wanted to relay the experience for others.
I did a couple of test migrations the week before, running the migration tool through to the end and reverting at the last "create alias" step. I also ran through the process in its entirety with our staging and build environments. It always ran smoothly.... (Note the use of the ellipsis above. It's what legitimate journalists refer to as "foreshadowing". Or possibly "foreboding".) First hurdle: When it came time to start the migration, the Datastore Admin tool didn't appear in the console for the destination. Normally, I'm used to it not showing up in Chrome but this time, it was blank in Firefox too. IE showed a generic HTTP error page. I needed it so I could clear out the data from the destination leftover from previous migration tests. I had already deployed the same version of the app that was currently in the Master/Slave version. Eventually, I looked at the source of the admin console and found the URL for the iframe it used and launched it directly in Firefox. It was confused which of the three active Google accounts I regular use should be logged in so I chose the correct one and carried on, deleting the existing data. Next, I launched the migration tool. It hung on the Copy phase (the second step). I let it go for about half an hour. (During my trial runs, it took less than ten minutes.) So I reverted and went back to the Datastore Admin tool (which now appeared properly in the Admin Console, at least in Firefox) and deleted all the data. I went to the Datastore Viewer to verify and could not access it. I received a 500 Server Error with a link to report the error on this group. (Incidentally, I am not a big fan<http://codebetter.com/kylebaley/2011/04/25/google-ui-faux-pas-or-how-to-show-love-hillbilly-style>of the new Google Groups, especially for AppEngine which has three to choose from) I relied on the Datastore Admin tool to tell me that the data had been cleared and tried the migration again. Once again, it hung on the copy phase, this time for almost an hour before I reverted. While it was doing its thing, I checked the Datastore Admin tool on the destination and almost from the start, it showed entity totals that were *almost* as high as the source. But they didn't move during the entire time I waited. I suspect it was reporting on old data. After reverting, I gave up on the migration tool. Before starting the whole process, I had done the following: - Switched the source app to a maintenance version that redirects all traffic to a maintenance page (and if a user is already running the app, the page is refreshed to show the maintenance page). - Backed up the data So I restored the backup to the HR app and all seems to be running smoothly on it. The source doesn't have an alias to the new app but I didn't intend to use one anyway. That's my migration experience. The app is up and running now and we just barely did it under our budget thanks to all the database reads and writes. An app that normally costs us about ten cents a day cost us almost $4.00 last night. In summary, the major parts I'm not happy with: - Datastore Admin page not showing up in any browser - The migration tool apparently not working. (There's a chance it was actually doing something and I reverted prematurely but my earlier test runs suggest something went wrong.) - 500 Server Error on the destination's Datastore Viewer. Furthermore, it seems unprofessional to direct support to a Google Group for a paid application. The 40x cost increase for the migration I'm okay with. Four dollars still isn't a lot of money. That said, I'm not sure what I would have done had we reached our budget. I'm not the billing administrator for either app. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/VsiiGEA26eAJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.