2012-02-08 1 views
1

App Engineの開発サーバーで「gae.unindexed」拡張子が無視されていますか?私は1回の書き込み呼び出しで約246のエンティティを念頭に置いており、合計で約25のデータストアプット操作が作成されています。いくつかの調査の後、私はこれがインデックスの自動保存によって引き起こされたと判断しました。あなたはそれを回避する方法は、下の私のエンティティに示すように、(少なくとも、JDOのために)、以下の@Extenstionを追加することです:開発サーバーでgae.unindexedが無視されましたか?

@PersistenceCapable(identityType = IdentityType.APPLICATION) 
    public class RealmEntity extends BaseEntity implements Serializable { 

     @Persistent 
     private String name; 

     @Persistent 
     @Extension(vendorName = "datanucleus", key = "gae.unindexed", value = "true") 
     private String population; 

     @Persistent 
     @Extension(vendorName = "datanucleus", key = "gae.unindexed", value = "true") 
     private String region; 

     @Persistent 
     private String slug; 

      ... 

しかし私のエンティティにこれらのアノテーションのうちの2つを追加した後、私はまだ正確に同じを得ます25回の操作。私の希望は、これらのプロパティは開発サーバー上で無視されるだけですが、本番環境では動作します。誰でもこれを確認したり拒否できますか?または、それがなぜ機能していないのか説明してください。

答えて

1

データストアの書き込みにデータストアの設定を混同しないでください。

プロパティをインデックスなしにすると、データストアの書き込みは減少しますが、エンティティをデータストアに保持するために必要なputの数には影響しません。あなたはAppStatsを介してputsの数を見ていますか?

+0

昨夜午前1時頃にそれを考え出し、私の投稿を更新するのを忘れました。開発データストアの「Write Ops」の列を見ると、インデックスが無効になっているため、正しく更新されています。ありがとう! – nwallman

1

私はobjectifyを使用しており、開発サーバーは期待していた書き込み操作の数を正しく報告します。私がインデックスを付けられていないとマークしたプロパティを考慮に入れています。

あなたの設定を修正する方法はわかりませんが、私はあなたの推測に反して、にする必要があります。

+0

おそらく、それは私のビルドプロセスで何かです。私は@ExtensionとWithoutの両方でテストし、appstatsによって報告されたput操作の数にゼロの変更を加えます。 – nwallman

+0

ビルドに関連していないようです... – nwallman

関連する問題