ここ数時間で、エンティティをキーで取得するときに例外が発生し始めました。
Caused by: java.lang.NullPointerException
at com.google.appengine.api.datastore.PropertyContainer.getProperties(PropertyContainer.java:48)
at com.googlecode.objectify.impl.Transmog.load(Transmog.java:336)
at com.googlecode.objectify.impl.ConcreteEntityMetadata.toObject(ConcreteEntityMetadata.java:203)
at com.googlecode.objectify.impl.AsyncObjectifyImpl$1.wrap(AsyncObjectifyImpl.java:82)
at com.googlecode.objectify.impl.AsyncObjectifyImpl$1.wrap(AsyncObjectifyImpl.java:69)
at com.google.appengine.api.utils.FutureWrapper.wrapAndCache(FutureWrapper.java:57)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:98)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:90)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:90)
at com.googlecode.objectify.impl.ResultAdapter.get(ResultAdapter.java:29)
at com.googlecode.objectify.impl.ObjectifyImpl.get(ObjectifyImpl.java:63)
それらは断続的で、約 50% の確率で投げられます。
アップデート
コードの 2 行目で例外がスローされます。
Objectify ofy = ObjectifyService.begin();
retVal = ofy.get(entityKey);
ロギングを追加して、entityKey の値を確認します....
更新 2
ロギングを追加した後、キーが null でないこと、およびキーを使用してデータストア ビューアーを使用してエンティティを取得すると、問題なく動作することを確認できます。
更新 3
これは Memcache に関する問題であることを確認できます。objectify キャッシュを無効にした後、このエラーは表示されなくなりました。つまり、これは objectify のバグであるか (objectify ライブラリを変更またはアップグレードしていないため可能性は低い)、または appengine memcache サービスが何らかの形で変更されています。