Skip to content

Commit

Permalink
test snapshot recovery from new peers in the cluster.
Browse files Browse the repository at this point in the history
This is dependent on this pr goraft/raft#154 the
test will fail without this change
  • Loading branch information
jvshahid committed Jan 17, 2014
1 parent f79f71d commit 012efd4
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions src/coordinator/coordinator_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package coordinator

import (
"common"
. "common"
"configuration"
"datastore"
Expand Down Expand Up @@ -168,17 +167,17 @@ func (self *CoordinatorSuite) TestCanSnapshot(c *C) {
server := startAndVerifyCluster(1, c)[0]
// defer clean(server)

path, port := server.path, server.port
path, port, name := server.path, server.port, server.name

for i := 0; i < 1000; i++ {
dbname := fmt.Sprintf("db%d", i)
server.CreateDatabase(dbname, uint8(1))
assertConfigContains(server.port, dbname, true, c)
}
size, err := common.GetFileSize(server.raftServer.LogPath())
size, err := GetFileSize(server.raftServer.LogPath())
c.Assert(err, IsNil)
server.forceLogCompaction()
newSize, err := common.GetFileSize(server.raftServer.LogPath())
newSize, err := GetFileSize(server.raftServer.LogPath())
c.Assert(err, IsNil)
c.Assert(newSize < size, Equals, true)
fmt.Printf("size of %s shrinked from %d to %d\n", server.raftServer.LogPath(), size, newSize)
Expand All @@ -190,13 +189,28 @@ func (self *CoordinatorSuite) TestCanSnapshot(c *C) {
os.RemoveAll(server.path)
server.path = path
server.port = port
server.name = name
// defer clean(server)
err = server.ListenAndServe()
c.Assert(err, IsNil)
time.Sleep(SERVER_STARTUP_TIME)
for i := 0; i < 1000; i++ {
dbname := fmt.Sprintf("db%d", i)
assertConfigContains(server.port, dbname, true, c)
}

// make another server join the cluster
server2 := newConfigAndServer(c)
defer clean(server2)
l, err := net.Listen("tcp4", ":0")
c.Assert(err, IsNil)
server2.config.SeedServers = []string{fmt.Sprintf("http://localhost:%d", server.port)}
server2.Serve(l)
time.Sleep(SERVER_STARTUP_TIME)
for i := 0; i < 1000; i++ {
dbname := fmt.Sprintf("db%d", i)
assertConfigContains(server2.port, dbname, true, c)
}
}

func (self *CoordinatorSuite) TestCanCreateCoordinatorsAndReplicate(c *C) {
Expand Down

0 comments on commit 012efd4

Please sign in to comment.