aboutsummaryrefslogtreecommitdiff
path: root/weed/topology/data_node.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-05-19 10:02:01 -0700
committerChris Lu <chris.lu@gmail.com>2021-05-19 10:02:01 -0700
commit87a32bfef4f9b4c3594d20dac22d0e8cf60db341 (patch)
treee54f44102a342d579ab8003fc4de175b1a886439 /weed/topology/data_node.go
parent6c1c72b1f4168f5b91392d23ec8956ee95100d98 (diff)
downloadseaweedfs-87a32bfef4f9b4c3594d20dac22d0e8cf60db341.tar.xz
seaweedfs-87a32bfef4f9b4c3594d20dac22d0e8cf60db341.zip
avoid possible nil when node is disconnected from its parent
fix https://github.com/chrislusf/seaweedfs/issues/2073
Diffstat (limited to 'weed/topology/data_node.go')
-rw-r--r--weed/topology/data_node.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/weed/topology/data_node.go b/weed/topology/data_node.go
index 69f739dd5..2813f7b45 100644
--- a/weed/topology/data_node.go
+++ b/weed/topology/data_node.go
@@ -177,7 +177,13 @@ func (dn *DataNode) GetVolumesById(id needle.VolumeId) (vInfo storage.VolumeInfo
func (dn *DataNode) GetDataCenter() *DataCenter {
rack := dn.Parent()
+ if rack == nil {
+ return nil
+ }
dcNode := rack.Parent()
+ if dcNode == nil {
+ return nil
+ }
dcValue := dcNode.GetValue()
return dcValue.(*DataCenter)
}