aboutsummaryrefslogtreecommitdiff
path: root/go
diff options
context:
space:
mode:
authorhxiaodon <huoxd_buaa@hotmail.com>2015-12-28 14:23:26 +0800
committerhxiaodon <huoxd_buaa@hotmail.com>2015-12-28 14:23:26 +0800
commit4e48f64512d3f6fdbab17e777fff3fe191592a76 (patch)
tree9d87e036077ad930068980c72d7f1cc25a510ee7 /go
parent4d56039ad4ee96db938af4df93bd4b0153c1400f (diff)
downloadseaweedfs-4e48f64512d3f6fdbab17e777fff3fe191592a76.tar.xz
seaweedfs-4e48f64512d3f6fdbab17e777fff3fe191592a76.zip
Update store_replicate.go
replication operations should be equal to volume's replication setting
Diffstat (limited to 'go')
-rw-r--r--go/topology/store_replicate.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/go/topology/store_replicate.go b/go/topology/store_replicate.go
index dc26dade0..4adb4431e 100644
--- a/go/topology/store_replicate.go
+++ b/go/topology/store_replicate.go
@@ -95,6 +95,13 @@ func distributedOperation(masterNode string, store *storage.Store, volumeId stor
for i := 0; i < length; i++ {
ret = ret && <-results
}
+ if volume := store.GetVolume(volumeId); volume != nil {
+ copyCount := volume.ReplicaPlacement.GetCopyCount() - 1
+ if length < copyCount {
+ glog.V(0).Infoln("replicating opetations [%d] is less than volume's replication copy count [%d]", length, copyCount)
+ ret = false
+ }
+ }
return ret
} else {
glog.V(0).Infoln("Failed to lookup for", volumeId, lookupErr.Error())