我想知道是否有一种方法可以检查是否正在使用RethinkDB分片,然后对其执行此类ReQL查询。
我目前正在调用两个函数,第一个创建一个RethinkDB表并插入数据,第二个将从新创建的表中读取数据。如果插入的数据很少,这可以正常工作,但是一旦插入的数据集的大小增加,我开始得到:
Unhandled rejection RqlRuntimeError: Cannot perform write: Primary replica for shard ["", +inf) not available
这是因为主分片仍在执行上一个函数的写入。我想我想知道是否有一些RethinkDB特定的方法可以避免这种情况,或者我是否需要发出/监听事件或什么?
答案 0 :(得分:2)
您可以使用wait
命令。来自文档:
等待数据库中的表或所有表准备就绪。一张桌子 在创建,重新平衡或之后可能暂时不可用 重新配置。 wait命令阻塞直到给定的表(或 数据库)完全是最新的。