Google App Engine数据存储-测试查询失败

Google App Engine数据存储-测试查询失败,第1张

Google App Engine数据存储-测试查询失败

您的测试代码没有错。问题出在数据存储区本身。HR数据存储中的大多数查询不是“立即一致”的,而是最终一致的。您可以在数据存储区文档中阅读有关此内容的更多信息。

因此,基本上发生的事情是将实体放入数据存储区,而SDK的数据存储区“模拟”了在生产中可以观察到的延迟,因此,如果在此之后立即运行查询(这不是祖先查询),则该查询结果将不包括您刚刚保存的新实体。

如果您在

datastore.Put()
和之间放置了几秒钟的睡眠
q.GetAll()
,您将看到测试通过。试试吧。在我的测试中,仅睡100毫秒就足够了,并且测试始终通过。但是在编写针对此类情况的测试时,请使用
StronglyConsistentDatastore:true
在JonhGB的答案中可以看到的选项。

如果您使用Ancestor查询,因为它们是高度一致的,那么您也会看到测试通过且没有睡眠。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5170392.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-18
下一篇2022-11-18

发表评论

登录后才能评论

评论列表(0条)

    保存