From f15a2401b1cf9dbb30fc9819dc7b65236fa15c39 Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Fri, 27 Dec 2019 12:38:07 +0300 Subject: [PATCH] cli/server: close the chain gracefully on restore even on error Not an issue for dumper, but when restoring we should correctly save everything already imported even if the subsequent block fails. --- cli/server/server.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/server/server.go b/cli/server/server.go index 9f994827d..6ecdfdda7 100644 --- a/cli/server/server.go +++ b/cli/server/server.go @@ -233,6 +233,9 @@ func restoreDB(ctx *cli.Context) error { if err != nil { return err } + defer chain.Close() + defer prometheus.ShutDown() + defer pprof.ShutDown() var allBlocks = reader.ReadU32LE() if reader.Err != nil { @@ -271,9 +274,6 @@ func restoreDB(ctx *cli.Context) error { return cli.NewExitError(fmt.Errorf("failed to add block %d: %s", i, err), 1) } } - pprof.ShutDown() - prometheus.ShutDown() - chain.Close() return nil }