ライブアプリに「奇妙な」クエリがあります...
1.8.4 SDK を実行しています... Python 2.7 を使用した 1.8.5 ライブ インスタンス
Measurement は NDB モデルです... status と呼ばれる文字列プロパティと asset と呼ばれるキー プロパティを持ちます....
(私のハンドラーコードの奥深く....)
cursor=None
limit=10
asset_key = <a key to an actual asset>
qry = Measurement.query(
Measurement.status=='PENDING',
Measurement.asset=asset_key)
results, cursor, more = qry.fetch_page(page_size=limit, start_cursor=cursor)
奇妙なことに、これを実行すると、4 つのアイテムが得られることもあれば、1 つしか得られないこともあります (正解は 4 です)。
クエリのダンプはまったく同じです...カーソルはなしに設定されています...制限は常に同じです....同じハンドラー...同じクエリで、各クエリの間に新しいレコードはありません。新しいインスタンス (例: 初めて + 他のユーザーなし)
各クエリは秒単位で区切られていますが、結果は異なります。
ここで何かが足りないのですか... 他の誰かがこれを経験しましたか? これはある種の破損したインデックスですか? (これは 482,911 項目の比較的大きな「テーブル」です) NDB はカーソル変数をキャッシュしていますか?
非常に奇妙です。