浏览代码

etcdserver: check id match

Yicheng Qin 11 年之前
父节点
当前提交
3859297225
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      etcdserver/server.go

+ 3 - 0
etcdserver/server.go

@@ -530,6 +530,9 @@ func (s *EtcdServer) applyConfChange(cc raftpb.ConfChange) {
 		if err := json.Unmarshal(cc.Context, &m); err != nil {
 		if err := json.Unmarshal(cc.Context, &m); err != nil {
 			panic("unexpected unmarshal error")
 			panic("unexpected unmarshal error")
 		}
 		}
+		if cc.NodeID != m.ID {
+			panic("unmatch node id")
+		}
 		s.ClusterStore.Create(m)
 		s.ClusterStore.Create(m)
 	case raftpb.ConfChangeRemoveNode:
 	case raftpb.ConfChangeRemoveNode:
 		s.ClusterStore.Delete(cc.NodeID)
 		s.ClusterStore.Delete(cc.NodeID)