Merge pull request #5017 from xiang90/member

membership: save/update the whole member information into backend
This commit is contained in:
Xiang Li 2016-04-08 13:30:35 -07:00
commit 345bdc3db6
2 changed files with 5 additions and 2 deletions

View File

@ -311,6 +311,9 @@ func (c *RaftCluster) UpdateAttributes(id types.ID, attr Attributes) {
if c.store != nil {
mustUpdateMemberAttrInStore(c.store, m)
}
if c.be != nil {
mustSaveMemberToBackend(c.be, m)
}
return
}
_, ok := c.removed[id]

View File

@ -42,7 +42,7 @@ var (
func mustSaveMemberToBackend(be backend.Backend, m *Member) {
mkey := backendMemberKey(m.ID)
mvalue, err := json.Marshal(m.RaftAttributes)
mvalue, err := json.Marshal(m)
if err != nil {
plog.Panicf("marshal raftAttributes should never fail: %v", err)
}
@ -134,7 +134,7 @@ func nodeToMember(n *store.NodeExtern) (*Member, error) {
}
func backendMemberKey(id types.ID) []byte {
return []byte(path.Join(id.String(), raftAttributesSuffix))
return []byte(id.String())
}
func MemberStoreKey(id types.ID) string {