diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-11-22 17:15:59 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-11-22 17:15:59 -0800 |
| commit | c7ebadc25dd47b4167b9c25d381db1276e7c5a80 (patch) | |
| tree | 684a84e57d6bed48ad02ac3c5d66c08a850630a6 /weed/topology/topology.go | |
| parent | 92f906b6fcce2ef72661bb825075e2826b8f3aa1 (diff) | |
| download | seaweedfs-c7ebadc25dd47b4167b9c25d381db1276e7c5a80.tar.xz seaweedfs-c7ebadc25dd47b4167b9c25d381db1276e7c5a80.zip | |
avoid possible concurrent access inside ensureCorrectWritables()
Diffstat (limited to 'weed/topology/topology.go')
| -rw-r--r-- | weed/topology/topology.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/weed/topology/topology.go b/weed/topology/topology.go index e217617e9..bde72cf09 100644 --- a/weed/topology/topology.go +++ b/weed/topology/topology.go @@ -177,7 +177,9 @@ func (t *Topology) DeleteCollection(collectionName string) { } func (t *Topology) RegisterVolumeLayout(v storage.VolumeInfo, dn *DataNode) { - t.GetVolumeLayout(v.Collection, v.ReplicaPlacement, v.Ttl).RegisterVolume(&v, dn) + vl := t.GetVolumeLayout(v.Collection, v.ReplicaPlacement, v.Ttl) + vl.RegisterVolume(&v, dn) + vl.EnsureCorrectWritables(&v) } func (t *Topology) UnRegisterVolumeLayout(v storage.VolumeInfo, dn *DataNode) { glog.Infof("removing volume info:%+v", v) |
