Explorar o código

Merge pull request #2007 from xiang90/cluster_clean

etcdserver: cleanup cluster.go
Xiang Li %!s(int64=11) %!d(string=hai) anos
pai
achega
60d25635c4
Modificáronse 2 ficheiros con 8 adicións e 7 borrados
  1. 6 5
      etcdserver/cluster.go
  2. 2 2
      etcdserver/server.go

+ 6 - 5
etcdserver/cluster.go

@@ -328,24 +328,25 @@ func (c *Cluster) RemoveMember(id types.ID) {
 	c.removed[id] = true
 }
 
-func (c *Cluster) UpdateMemberAttributes(id types.ID, attr Attributes) {
+func (c *Cluster) UpdateAttributes(id types.ID, attr Attributes) {
 	c.Lock()
 	defer c.Unlock()
 	c.members[id].Attributes = attr
+	// TODO: update store in this function
 }
 
-func (c *Cluster) UpdateMember(nm *Member) {
+func (c *Cluster) UpdateRaftAttributes(id types.ID, raftAttr RaftAttributes) {
 	c.Lock()
 	defer c.Unlock()
-	b, err := json.Marshal(nm.RaftAttributes)
+	b, err := json.Marshal(raftAttr)
 	if err != nil {
 		log.Panicf("marshal raftAttributes should never fail: %v", err)
 	}
-	p := path.Join(memberStoreKey(nm.ID), raftAttributesSuffix)
+	p := path.Join(memberStoreKey(id), raftAttributesSuffix)
 	if _, err := c.store.Update(p, string(b), store.Permanent); err != nil {
 		log.Panicf("update raftAttributes should never fail: %v", err)
 	}
-	c.members[nm.ID].RaftAttributes = nm.RaftAttributes
+	c.members[id].RaftAttributes = raftAttr
 }
 
 func membersFromStore(st store.Store) (map[types.ID]*Member, map[types.ID]bool) {

+ 2 - 2
etcdserver/server.go

@@ -717,7 +717,7 @@ func (s *EtcdServer) applyRequest(r pb.Request) Response {
 				if err := json.Unmarshal([]byte(r.Val), &attr); err != nil {
 					log.Panicf("unmarshal %s should never fail: %v", r.Val, err)
 				}
-				s.Cluster.UpdateMemberAttributes(id, attr)
+				s.Cluster.UpdateAttributes(id, attr)
 			}
 			return f(s.store.Set(r.Path, r.Dir, r.Val, expr))
 		}
@@ -783,7 +783,7 @@ func (s *EtcdServer) applyConfChange(cc raftpb.ConfChange, confState *raftpb.Con
 		if cc.NodeID != uint64(m.ID) {
 			log.Panicf("nodeID should always be equal to member ID")
 		}
-		s.Cluster.UpdateMember(m)
+		s.Cluster.UpdateRaftAttributes(m.ID, m.RaftAttributes)
 		if m.ID == s.id {
 			log.Printf("etcdserver: update local member %s %v in cluster %s", m.ID, m.PeerURLs, s.Cluster.ID())
 		} else {