orientdb: OrientDB looses data when we restart cluster after some nodes crashed

OrientDB Version, operating system, or hardware.

  • v2.2.13

Operating System

  • Windows

Expected behavior and actual behavior

There is an example. We have node A and B, we write a value “1” to a document when node A and B are up. We shut down node B and write value “2”, after we shut down node A as well. When we start node B and after node A - cluster will have old value “1” instead of “2”, looks like there is some bug when OrientDB merges the records. NOTE: when we start node A and after node B - everything works as expected.

Steps to reproduce the problem

Start two nodes with the following distributed configuration:

{
  "autoDeploy": true,
  "readQuorum": 1,
  "writeQuorum": 1,
  "executionMode": "undefined",
  "readYourWrites": true,
  "newNodeStrategy": "static",
  "servers": {
    "*": "master"
  },
  "clusters": {
    "internal": {
    },
    "*": {
      "servers": ["<NEW_NODE>"]
    }
  }
}

This issue is applicable for other configurations as well, for example:

  • When we have 3 nodes and use write quorum “majority” and read quorum 1.
  • When we have 3 nodes and use write and read quorum as “majority”.
  • When we have read quorum 1 and write quorum “all” plus “newNodeStrategy”: “dynamic” and distributed.autoRemoveOfflineServers=0.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 39 (13 by maintainers)

Commits related to this issue

Most upvoted comments

It is working fine for me after your fix. Thank you a lot!