Barlog
Barlog

Reputation: 188

How to use wait-for-sync properly

For experiments with single node configuration I run ArangoDB with the command:

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

Then I do a few commands:

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

Get the result:

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

And where is my "waitForSync": true by default? Where do I do a mistake?

Upvotes: 1

Views: 1055

Answers (1)

Max Neunhöffer
Max Neunhöffer

Reputation: 1392

I can confirm your problem using ArangoDB 2.8.7 and the arangosh. This is a bug. If the same is done on the console (with --console), then it works.

From arangosh the request goes via the HTTP API and there the default of "false" for "waitForSync" is added, the command line option is ignored, which is the bug. I will make sure that this will be fixed in the next release of ArangoDB.

In the meantime, please add "waitForSync": true in all db._create calls in arangosh and all POST /_api/collection API calls via HTTP.

Upvotes: 3

Related Questions