Skip to content

Commit

Permalink
gofix + manual fixes
Browse files Browse the repository at this point in the history
kr committed Dec 2, 2011
1 parent f57c03d commit a6705ee
Showing 26 changed files with 253 additions and 291 deletions.
9 changes: 1 addition & 8 deletions src/cmd/doozerd/boot.go
Original file line number Diff line number Diff line change
@@ -4,7 +4,6 @@ import (
"crypto/rand"
"encoding/base32"
"github.com/ha/doozer"
"os"
"time"
)

@@ -29,7 +28,6 @@ func boot(name, id, laddr, buri string) *doozer.Conn {
return cl
}


// Elect chooses a seed node, and returns a connection to a cal.
// If this process is the seed, returns nil.
func elect(name, id, laddr string, b *doozer.Conn) *doozer.Conn {
@@ -64,7 +62,6 @@ func elect(name, id, laddr string, b *doozer.Conn) *doozer.Conn {
return nil // we are the seed node -- don't attach
}


func lookupAndAttach(b *doozer.Conn, name string) *doozer.Conn {
as := lookup(b, name)
if len(as) > 0 {
@@ -76,7 +73,6 @@ func lookupAndAttach(b *doozer.Conn, name string) *doozer.Conn {
return nil
}


func attach(name string, addrs []string) *doozer.Conn {
ch := make(chan *doozer.Conn, 1)

@@ -96,10 +92,9 @@ func attach(name string, addrs []string) *doozer.Conn {
return <-ch
}


// IsCal checks if addr is a CAL in the cluster named name.
// Returns a client if so, nil if not.
func isCal(name, addr string) (*doozer.Conn, os.Error) {
func isCal(name, addr string) (*doozer.Conn, error) {
c, err := doozer.Dial(addr)
if err != nil {
return nil, err
@@ -149,7 +144,6 @@ func isCal(name, addr string) (*doozer.Conn, os.Error) {
return nil, nil
}


// Find possible addresses for cluster named name.
func lookup(b *doozer.Conn, name string) (as []string) {
rev, err := b.Rev()
@@ -178,7 +172,6 @@ func lookup(b *doozer.Conn, name string) (as []string) {
return as
}


func randId() string {
const bits = 80 // enough for 10**8 ids with p(collision) < 10**-8
rnd := make([]byte, bits/8)
8 changes: 3 additions & 5 deletions src/pkg/consensus/consensus_test.go
Original file line number Diff line number Diff line change
@@ -2,14 +2,13 @@ package consensus

import (
"doozer/store"
"errors"
"github.com/bmizerany/assert"
"net"
"os"
"testing"
"time"
)


func TestConsensusOne(t *testing.T) {
self := "test"
const alpha = 1
@@ -59,14 +58,13 @@ func TestConsensusOne(t *testing.T) {
Body: "bad mutation",
Rev: 3,
Mut: "foo",
Err: os.NewError("bad mutation"),
Err: errors.New("bad mutation"),
}

e.Getter = nil
assert.Equal(t, exp, e)
}


func TestConsensusTwo(t *testing.T) {
a := "a"
b := "b"
@@ -159,7 +157,7 @@ func TestConsensusTwo(t *testing.T) {
Body: "bad mutation",
Rev: 6,
Mut: "foo",
Err: os.NewError("bad mutation"),
Err: errors.New("bad mutation"),
}

e.Getter = nil
46 changes: 23 additions & 23 deletions src/pkg/consensus/learner_test.go
Original file line number Diff line number Diff line change
@@ -31,7 +31,7 @@ func TestLearnsOkStickyInSameRound(t *testing.T) {
m, v, ok = ln.update(newVoteFrom(1, 1, "bar"))
assert.Equal(t, true, ln.done)
assert.Equal(t, "foo", ln.v)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)
}
@@ -50,7 +50,7 @@ func TestLearnsOkStickyInNewRound(t *testing.T) {
m, v, ok = ln.update(newVoteFrom(0, 2, "bar"))
assert.Equal(t, true, ln.done)
assert.Equal(t, "foo", ln.v)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)
}
@@ -61,7 +61,7 @@ func TestLearnsAValueWithAQuorumOfTwo(t *testing.T) {

m, v, ok := ln.update(newVoteFrom(0, 1, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

@@ -79,7 +79,7 @@ func TestIgnoresMalformedMessageBadRoundNumber(t *testing.T) {

m, v, ok := ln.update(newVoteFrom(0, 0, "bar"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

@@ -97,13 +97,13 @@ func TestIgnoresMultipleMessagesFromSameSender(t *testing.T) {

m, v, ok := ln.update(newVoteFrom(0, 1, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

m, v, ok = ln.update(newVoteFrom(0, 1, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

@@ -121,13 +121,13 @@ func TestIgnoresSenderInOldRound(t *testing.T) {

m, v, ok := ln.update(newVoteFrom(0, 2, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

m, v, ok = ln.update(newVoteFrom(1, 1, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

@@ -145,13 +145,13 @@ func TestResetsVotedFlags(t *testing.T) {

m, v, ok := ln.update(newVoteFrom(0, 1, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

m, v, ok = ln.update(newVoteFrom(0, 2, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

@@ -169,25 +169,25 @@ func TestResetsVoteCounts(t *testing.T) {

m, v, ok := ln.update(newVoteFrom(0, 1, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

m, v, ok = ln.update(newVoteFrom(1, 1, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

m, v, ok = ln.update(newVoteFrom(0, 2, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

m, v, ok = ln.update(newVoteFrom(1, 2, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

@@ -205,13 +205,13 @@ func TestLearnsATheBestOfTwoValuesInSameRound(t *testing.T) {

m, v, ok := ln.update(newVoteFrom(0, 1, "foo"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

m, v, ok = ln.update(newVoteFrom(2, 1, "bar"))
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

@@ -226,28 +226,28 @@ func TestBringsOrderOutOfChaos(t *testing.T) {

m, v, ok := ln.update(newVoteFrom(0, 1, "bar")) //valid
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)
m, v, ok = ln.update(newVoteFrom(2, 2, "funk")) //reset
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)
m, v, ok = ln.update(newVoteFrom(1, 1, "bar")) //ignored
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)

m, v, ok = ln.update(newVoteFrom(2, 1, "foo")) //ignored
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)
m, v, ok = ln.update(newVoteFrom(1, 2, "foo")) //valid
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)
m, v, ok = ln.update(newVoteFrom(0, 2, "foo")) //valid (at quorum)
@@ -264,7 +264,7 @@ func TestLearnerIgnoresBadMessages(t *testing.T) {

m, v, ok := ln.update(&packet{msg: msg{Cmd: vote}}, -1) // missing Vrnd
assert.Equal(t, false, ln.done)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)
}
@@ -294,7 +294,7 @@ func TestSinkLearnsOkSticky(t *testing.T) {
m, v, ok = ln.update(&packet{msg: *newLearn("bar")}, -1)
assert.Equal(t, true, ln.done)
assert.Equal(t, "foo", ln.v)
assert.Equal(t, []byte{}, v)
assert.Equal(t, []byte(nil), v)
assert.Equal(t, false, ok)
assert.Equal(t, (*msg)(nil), m)
}
16 changes: 7 additions & 9 deletions src/pkg/consensus/m.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Oops, something went wrong.

0 comments on commit a6705ee

Please sign in to comment.