chrislu 2022-09-10 11:22:16 -07:00
parent 205ecb5d03
commit 576c113c59
3 changed files with 9 additions and 3 deletions

View file

@ -20,7 +20,9 @@ func NewDataCenter(id string) *DataCenter {
}
func (dc *DataCenter) GetOrCreateRack(rackName string) *Rack {
for _, c := range dc.Children() {
dc.Lock()
defer dc.Unlock()
for _, c := range dc.children {
rack := c.(*Rack)
if string(rack.Id()) == rackName {
return rack

View file

@ -32,7 +32,9 @@ func (r *Rack) FindDataNode(ip string, port int) *DataNode {
return nil
}
func (r *Rack) GetOrCreateDataNode(ip string, port int, grpcPort int, publicUrl string, maxVolumeCounts map[string]uint32) *DataNode {
for _, c := range r.Children() {
r.Lock()
defer r.Unlock()
for _, c := range r.children {
dn := c.(*DataNode)
if dn.MatchLocation(ip, port) {
dn.LastSeen = time.Now().Unix()

View file

@ -258,7 +258,9 @@ func (t *Topology) UnRegisterVolumeLayout(v storage.VolumeInfo, dn *DataNode) {
}
func (t *Topology) GetOrCreateDataCenter(dcName string) *DataCenter {
for _, c := range t.Children() {
t.Lock()
defer t.Unlock()
for _, c := range t.children {
dc := c.(*DataCenter)
if string(dc.Id()) == dcName {
return dc