背景
我們的應(yīng)用場景,Couchbase某個bucket的索引非常大,有2億多個文檔,我們需要把這所有數(shù)據(jù)遷移到hdfs中。
為此,需要先獲取所有文檔ID,然后,遍歷ID,獲取文檔內(nèi)容。
通過如下查詢,可以拿到所有文檔ID:
select meta().id from my_bucket where sid > 0
但在執(zhí)行的過程中會報“Index scan time out”錯誤,錯誤代碼:12015。
為什么報錯?
上邊的查詢要掃描全部索引,默認(rèn)掃描時間是2分鐘,如果超過這個時間就會報錯。
如何解決?
增加這個超時時長即可,但是此配置不那么明顯。
修改方式為:
curl -X POST http://couchbase_server_host:9102/settings -d "{\"indexer.settings.scan_timeout\": 604800000}" -u 用戶名:密碼
參數(shù) -u ,指定用戶名、密碼。