我当时正忙着使用Azure Cosmos DB(通过.NET SDK),发现有些奇怪。
通常,当我使用连续令牌逐页请求查询时,我永远不会获得在创建第一个连续令牌之后创建的文档。我可以观察到已更改的文档,缺少已删除(或新过滤出的文档)的文档,但没有新文档。但是,如果我只允许使用1kB连续令牌(可以设置的最小令牌),那么我也将获得新文档。很显然,只要最终将它们排序到其余页面即可。
这样做是有道理的,因为有大小限制,所以我阻止Cosmos DB在连续令牌中包括序列化索引查找和其他内容。缺点是,Cosmos DB必须为我请求的每个页面重新创建恢复状态,这将花费一些额外的RU。至少根据这个讨论。副作用是,新文档最终出现在结果中。
现在,我实际上对此有两个问题。