diff --git a/store/transport.go b/store/transport.go index a6c064a1..f9e41a7a 100644 --- a/store/transport.go +++ b/store/transport.go @@ -65,6 +65,9 @@ func NewNodeTransport(transport *raft.NetworkTransport) *NodeTransport { // Close closes the transport func (n *NodeTransport) Close() error { close(n.done) + if n.NetworkTransport == nil { + return nil + } return n.NetworkTransport.Close() } diff --git a/store/transport_test.go b/store/transport_test.go index 94d24c10..97520422 100644 --- a/store/transport_test.go +++ b/store/transport_test.go @@ -9,3 +9,13 @@ func Test_NewTransport(t *testing.T) { t.Fatal("failed to create new Transport") } } + +func Test_NewNodeTransport(t *testing.T) { + nt := NewNodeTransport(nil) + if nt == nil { + t.Fatal("failed to create new NodeTransport") + } + if err := nt.Close(); err != nil { + t.Fatalf("failed to close NodeTransport: %s", err.Error()) + } +}