如何正确使用等待同步
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。
对于单节点配置的实验,我 运行 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。