GAE/J デプロイにて 409 conflict が出た場合の対処

投稿日:

本日のGAEの障害?(19時〜のやつ)のタイミングでデプロイしてまして、その時は結局デプロイできなかったので数時間経ってから再度デプロイを行いました。
すると、失敗した時の何かが残っていたのか
「Unable to update app:〜ほにゃらら〜409 Conflict」
と表示されました。
これの対処について備忘録もかねて記述しておきます

メッセージには
「Another transaction by user〜」
と出ており
「That user can undo the transaction with “appcfg rollback”.」
てなメッセージが出ていました。

調べてみると、コマンドラインから上記コマンドを実行してやればよいようです

machine:~ hoge$ cd /Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.5.2.r36v201107221751/appengine-java-sdk-1.5.2/bin/
machine:bin hoge$ ls -al
total 32
drwxr-xr-x 6 hoge hoge 204 8 2 07:27 .
drwxr-xr-x 14 hoge hoge 476 8 2 07:27 ..
-rw-r--r-- 1 hoge hoge 276 7 22 15:02 appcfg.cmd
-rw-r--r-- 1 hoge hoge 582 7 22 15:02 appcfg.sh
-rw-r--r-- 1 hoge hoge 368 7 22 15:02 dev_appserver.cmd
-rw-r--r-- 1 hoge hoge 670 7 22 15:02 dev_appserver.sh

なんかそれっぽいのがいました。実行権限を付与して、実行してみる


machine:bin hoge$ ./appcfg.sh rollback /myproject/war/
Reading application configuration data...
2011/08/09 22:26:06 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
####: Successfully processed /myproject/war/WEB-INF/appengine-web.xml
2011/08/09 22:26:06 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
####: Successfully processed /myproject/war/WEB-INF/web.xml
2011/08/09 22:26:06 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
####: Successfully processed /myproject/war/WEB-INF/cron.xml
2011/08/09 22:26:06 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
####: Successfully processed /myproject/war/WEB-INF/queue.xml
2011/08/09 22:26:06 com.google.apphosting.utils.config.IndexesXmlReader readConfigXml
####: Successfully processed /myproject/war/WEB-INF/appengine-generated/datastore-indexes-auto.xml
Beginning server interaction for myproject...
0% on backend null.
Email: *****@gmail.com
Password for *****@gmail.com: *****
Success.
Cleaning up temporary files...
machine:bin hoge$

EmailとPasswordはデプロイする権限のあるユーザを入力しました
この後、通常通りにデプロイすることでデプロイが完了しました


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です