Skip to content

Commit 74bbd98

Browse files
author
Pawan Rawal
committed
Fix nil pointer exception on restart after removing a peer.
1 parent d972318 commit 74bbd98

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

conn/node.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ func (n *Node) doSendMessage(pool *Pool, data []byte) {
340340
go func() {
341341
_, err := c.RaftMessage(ctx, p)
342342
if err != nil {
343-
x.Printf("Error while sending message to node with addr: %d, err: %v\n", pool.Addr, err)
343+
x.Printf("Error while sending message to node with addr: %s, err: %v\n", pool.Addr, err)
344344
}
345345
ch <- err
346346
}()

dgraph/cmd/zero/run.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ func (st *state) removeNode(w http.ResponseWriter, r *http.Request) {
198198
x.SetStatus(w, x.Error, err.Error())
199199
return
200200
}
201+
w.Write([]byte(fmt.Sprintf("Removed node with group: %v, idx: %v", groupId, nodeId)))
201202
return
202203
}
203204

worker/groups.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -241,12 +241,16 @@ func (g *groupi) applyState(state *intern.MembershipState) {
241241
go conn.Get().Connect(member.Addr)
242242
}
243243
}
244-
for _, member := range g.state.Removed {
245-
if member.GroupId == g.Node.gid && g.Node.AmLeader() {
246-
go g.Node.ProposePeerRemoval(context.Background(), member.Id)
244+
245+
// While restarting we fill Node information after retrieving initial state.
246+
if g.Node != nil {
247+
for _, member := range g.state.Removed {
248+
if member.GroupId == g.Node.gid && g.Node.AmLeader() {
249+
go g.Node.ProposePeerRemoval(context.Background(), member.Id)
250+
}
251+
// Each node should have different id and address.
252+
conn.Get().Remove(member.Addr)
247253
}
248-
// Each node should have different id and address.
249-
conn.Get().Remove(member.Addr)
250254
}
251255
}
252256

0 commit comments

Comments
 (0)