背景
我们的应用场景,Couchbase某个bucket的索引非常大,有2亿多个文档,我们需要把这所有数据迁移到hdfs中。
为此,需要先获取所有文档ID,然后,遍历ID,获取文档内容。
通过如下查询,可以拿到所有文档ID:
select meta().id from my_bucket where sid > 0
但在执行的过程中会报“Index scan time out”错误,错误代码:12015。
为什么报错?
上边的查询要扫描全部索引,默认扫描时间是2分钟,如果超过这个时间就会报错。
如何解决?
增加这个超时时长即可,但是此配置不那么明显。
修改方式为:
curl -X POST http://couchbase_server_host:9102/settings -d "{\"indexer.settings.scan_timeout\": 604800000}" -u 用户名:密码
参数 -u ,指定用户名、密码。
网友评论