0

I'm a sysadmin and I managing 5 cluster of RIAK:

  • two of them are LXC containers on the same physical machine (3 nodes per cluster)
  • one of them are LXC containers located on different physical machines (6 nodes)
  • one of them are LXC containers located on different physical machines and XEN VMs (6 nodes)
  • and the last of them are VMware ESX VMs (3 nodes)

Our application works correctly on the first four clusters, but it doesn't work as we expected on the last one.

When we update a key and we retrieve this key in order to write it again, it has an old value (it doesn't have the first value that we wrote), for example:

The key has: lalala We retrieve the key, and add lololo, so it should be lalala,lololo We retrieve the key again, and try to add lelele, so it should be now: lalala,lololo,lelele, but when we retrieve it again, we only have: lalala,lelele

In the second write action, when we retrieve the key, we obtained a key with the old value. We set r, w, pr and rw to 3 to the REST requests, but it doesn't help.

All the configuration files are very similiar and we don't have any major differences in the disk I/O and network performance of the nodes of the clusters.

Did anyone have a similar issue?

Regards.

DemonCcC
  • 31
  • 1
  • 3
  • when you say 'and add lololo', are you using a set type or reading the key, appending to the value, and writing back the new 'lalala,lololo' value? – Joe Dec 23 '14 at 15:48

1 Answers1

1

I resolved the issue. VMware have some issues with the clocks, they were synchronized. The servers doesn't have a direct internet connection, but they can use a HTTP proxy. I installed and configured htpdate on these servers in order to synchronize theirs clocks through HTTP headers.

DemonCcC
  • 31
  • 1
  • 3