检查是否正在使用RethinkDB分片?

时间:2015-08-19 17:10:57

标签: node.js rethinkdb

我想知道是否有一种方法可以检查是否正在使用RethinkDB分片,然后对其执行此类ReQL查询。

我目前正在调用两个函数,第一个创建一个RethinkDB表并插入数据,第二个将从新创建的表中读取数据。如果插入的数据很少,这可以正常工作,但是一旦插入的数据集的大小增加,我开始得到:

Unhandled rejection RqlRuntimeError: Cannot perform write: Primary replica for shard ["", +inf) not available

这是因为主分片仍在执行上一个函数的写入。我想我想知道是否有一些RethinkDB特定的方法可以避免这种情况,或者我是否需要发出/监听事件或什么?

1 个答案:

答案 0 :(得分:2)

您可以使用wait命令。来自文档:

  

等待数据库中的表或所有表准备就绪。一张桌子   在创建,重新平衡或之后可能暂时不可用   重新配置。 wait命令阻塞直到给定的表(或   数据库)完全是最新的。

http://rethinkdb.com/api/javascript/wait/