Use etcd compare and swap to update the list of pods, to remove a race.

This commit is contained in:
Brendan Burns
2014-06-26 20:24:10 -07:00
parent affaf173bf
commit b25f950362
7 changed files with 124 additions and 57 deletions

View File

@@ -86,7 +86,7 @@ func TestExtractObj(t *testing.T) {
fakeClient.Set("/some/key", MakeJSONString(expect), 0)
helper := EtcdHelper{fakeClient}
var got testMarshalType
err := helper.ExtractObj("/some/key", &got, false)
err, _ := helper.ExtractObj("/some/key", &got, false)
if err != nil {
t.Errorf("Unexpected error %#v", err)
}
@@ -120,11 +120,11 @@ func TestExtractObjNotFoundErr(t *testing.T) {
helper := EtcdHelper{fakeClient}
try := func(key string) {
var got testMarshalType
err := helper.ExtractObj(key, &got, false)
err, _ := helper.ExtractObj(key, &got, false)
if err == nil {
t.Errorf("%s: wanted error but didn't get one", key)
}
err = helper.ExtractObj(key, &got, true)
err, _ = helper.ExtractObj(key, &got, true)
if err != nil {
t.Errorf("%s: didn't want error but got %#v", key, err)
}