如何正确使用等待同步

How to use wait-for-sync properly

对于单节点配置的实验,我 运行 ArangoDB 使用命令:

arangod --server.endpoint=tcp://0.0.0.0:8529 --server.disable-authentication=true --database.wait-for-sync=true

然后我执行一些命令:

db._createDatabase("foo")
db._useDatabase("foo")
db._create("a")
db.a.properties()   

得到结果:

{ 
  "doCompact" : true, 
  "journalSize" : 33554432, 
  "isSystem" : false, 
  "isVolatile" : false, 
  "waitForSync" : false, 
  "keyOptions" : { 
    "type" : "traditional", 
    "allowUserKeys" : true 
  }, 
  "indexBuckets" : 8 
}

默认情况下我的 "waitForSync": true 在哪里?我哪里做错了?

我可以使用 ArangoDB 2.8.7 和 arangosh 确认您的问题。这是一个错误。如果在控制台上执行相同的操作(使用 --console),那么就可以了。

从 arangosh 请求通过 HTTP API 并添加了 "waitForSync" 的默认值 "false",命令行选项被忽略,这是错误。我会确保在 ArangoDB 的下一个版本中解决这个问题。

同时,请在 arangosh 中的所有 db._create 调用和通过 HTTP 的所有 POST /_api/collection API 调用中添加 "waitForSync": true。