https://github.com/voldemort/voldemort
Revision b8dbbe7fd143634a40892abd3e1bbdda7e86c070 authored by ARUNACHALAM THIRUPATHI on 04 September 2014, 07:31:13 UTC, committed by Arunachalam Thirupathi on 05 September 2014, 14:55:41 UTC
Zone is shrinked when the nodes receive get/put traffic.
The bootstrap URL is set to node 1 and node 0 is removed at the end
of zone shrinkage. Zone shrinkage metadata is written to nodes in order.
So first node 0 receives the update, that it is no longer part of the
cluster. But before node 1 is updated, the bootstrap code retries to
bootstrap from node 1. This is a race condition between admin client
setting correct metadata on all nodes and the client threads refreshing
the old value from other nodes. The problem is update metadataversion
properties fail as the node 0 is not longer a part of the cluster.

The race condition will be avoided if the bootstrap url and the node
in which we first write the metadata change are one and the same.
This is what this specific fix does, by making sure node 0 is not removed
during zone shrinkage.
1 parent e06bd37
History
Tip revision: b8dbbe7fd143634a40892abd3e1bbdda7e86c070 authored by ARUNACHALAM THIRUPATHI on 04 September 2014, 07:31:13 UTC
ZoneShrinkage endToendTest fails
Tip revision: b8dbbe7
File Mode Size
.settings
bin
clients
config
contrib
docs
example
gradle
private-lib
public-lib
src
test
voldemort-contrib
.gitignore -rw-r--r-- 242 bytes
CONTRIBUTORS -rw-r--r-- 659 bytes
LICENSE -rw-r--r-- 11.1 KB
NOTES -rw-r--r-- 2.5 KB
NOTICE -rw-r--r-- 8.1 KB
README.md -rw-r--r-- 4.5 KB
build.gradle -rw-r--r-- 18.8 KB
build.xml -rw-r--r-- 22.1 KB
gradle.properties -rw-r--r-- 1.2 KB
gradlew -rwxr-xr-x 5.0 KB
gradlew.bat -rw-r--r-- 2.3 KB
release_notes.txt -rw-r--r-- 37.3 KB
settings.gradle -rw-r--r-- 149 bytes
tomcat-tasks.properties -rw-r--r-- 420 bytes
web.xml -rw-r--r-- 1.1 KB

README.md

back to top