|
@ -2,52 +2,11 @@ package cluster |
|
|
|
|
|
|
|
|
import ( |
|
|
import ( |
|
|
"github.com/seaweedfs/seaweedfs/weed/pb" |
|
|
"github.com/seaweedfs/seaweedfs/weed/pb" |
|
|
"github.com/stretchr/testify/assert" |
|
|
|
|
|
"strconv" |
|
|
"strconv" |
|
|
"sync" |
|
|
"sync" |
|
|
"testing" |
|
|
"testing" |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
func TestClusterAddRemoveNodes(t *testing.T) { |
|
|
|
|
|
c := NewCluster() |
|
|
|
|
|
|
|
|
|
|
|
c.AddClusterNode("", "filer", "", "", pb.ServerAddress("111:1"), "23.45") |
|
|
|
|
|
c.AddClusterNode("", "filer", "", "", pb.ServerAddress("111:2"), "23.45") |
|
|
|
|
|
assert.Equal(t, []pb.ServerAddress{ |
|
|
|
|
|
pb.ServerAddress("111:1"), |
|
|
|
|
|
pb.ServerAddress("111:2"), |
|
|
|
|
|
}, c.getGroupMembers("", "filer", true).GetMembers) |
|
|
|
|
|
|
|
|
|
|
|
c.AddClusterNode("", "filer", "", "", pb.ServerAddress("111:3"), "23.45") |
|
|
|
|
|
c.AddClusterNode("", "filer", "", "", pb.ServerAddress("111:4"), "23.45") |
|
|
|
|
|
assert.Equal(t, []pb.ServerAddress{ |
|
|
|
|
|
pb.ServerAddress("111:1"), |
|
|
|
|
|
pb.ServerAddress("111:2"), |
|
|
|
|
|
pb.ServerAddress("111:3"), |
|
|
|
|
|
}, c.getGroupMembers("", "filer", true).GetMembers()) |
|
|
|
|
|
|
|
|
|
|
|
c.AddClusterNode("", "filer", "", "", pb.ServerAddress("111:5"), "23.45") |
|
|
|
|
|
c.AddClusterNode("", "filer", "", "", pb.ServerAddress("111:6"), "23.45") |
|
|
|
|
|
c.RemoveClusterNode("", "filer", pb.ServerAddress("111:4")) |
|
|
|
|
|
assert.Equal(t, []pb.ServerAddress{ |
|
|
|
|
|
pb.ServerAddress("111:1"), |
|
|
|
|
|
pb.ServerAddress("111:2"), |
|
|
|
|
|
pb.ServerAddress("111:3"), |
|
|
|
|
|
}, c.getGroupMembers("", "filer", true).GetMembers()) |
|
|
|
|
|
|
|
|
|
|
|
// remove oldest
|
|
|
|
|
|
c.RemoveClusterNode("", "filer", pb.ServerAddress("111:1")) |
|
|
|
|
|
assert.Equal(t, []pb.ServerAddress{ |
|
|
|
|
|
pb.ServerAddress("111:6"), |
|
|
|
|
|
pb.ServerAddress("111:2"), |
|
|
|
|
|
pb.ServerAddress("111:3"), |
|
|
|
|
|
}, c.getGroupMembers("", "filer", true).GetMembers()) |
|
|
|
|
|
|
|
|
|
|
|
// remove oldest
|
|
|
|
|
|
c.RemoveClusterNode("", "filer", pb.ServerAddress("111:1")) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func TestConcurrentAddRemoveNodes(t *testing.T) { |
|
|
func TestConcurrentAddRemoveNodes(t *testing.T) { |
|
|
c := NewCluster() |
|
|
c := NewCluster() |
|
|
var wg sync.WaitGroup |
|
|
var wg sync.WaitGroup |
|
|