diff --git a/go/cmd/vtexplain/vtexplain.go b/go/cmd/vtexplain/vtexplain.go index 41be6d2cc98..b1831c54559 100644 --- a/go/cmd/vtexplain/vtexplain.go +++ b/go/cmd/vtexplain/vtexplain.go @@ -122,6 +122,7 @@ func getFileParam(flag, flagFile, name string) (string, error) { } func main() { + defer vtexplain.Stop() defer exit.RecoverAll() defer logutil.Flush() @@ -178,7 +179,5 @@ func parseAndRun() error { fmt.Print(vtexplain.ExplainsAsJSON(plans)) } - vtexplain.Stop() - return nil } diff --git a/go/vt/vtexplain/vtexplain.go b/go/vt/vtexplain/vtexplain.go index 8176890a3a2..9cc92cb24fa 100644 --- a/go/vt/vtexplain/vtexplain.go +++ b/go/vt/vtexplain/vtexplain.go @@ -173,6 +173,9 @@ func Init(vSchemaStr, sqlSchema string, opts *Options) error { func Stop() { // Cleanup all created fake dbs. if explainTopo != nil { + for _, conn := range explainTopo.TabletConns { + conn.tsv.StopService() + } for _, conn := range explainTopo.TabletConns { conn.db.Close() }