"The index for this query is not ready to serve." というエラーが出た場合の対処方法

コレクションを含むオブジェクトをデータストアから取得する場合、 デプロイ直後には次のエラーが表示される場合があります。

Uncaught exception from servlet ...:
The index for this query is not ready to serve. 
See the Datastore Indexes page in the Admin Console..

この内容はつまり「このクエリに対するインデックスは提供の準備ができていません。アドミンコンソール(管理画面)で、 データストアインデックスのページを見てください」 と書いてあります。

この場合、一体どうしたらよいのでしょうか。

通常この場合、エラーメッセージに従って Google App Engine の管理画面に行ってインデックスを確認すると、次のようになっています。

インデックス 管理画面

実は冒頭のエラーはスクリーンショットのように、インデックスが "Building" (構築中) である場合に発生します。 数時間程度経ち Serving 状態になるので、この状態になるとエラーが消えます。