@@ -23,15 +23,15 @@ import (
2323// VerifyLastKHeight verifies the last k sealed blocks by verifying all chunks in the results.
2424// It assumes the latest sealed block has been executed, and the chunk data packs have not been
2525// pruned.
26- func VerifyLastKHeight (k uint64 , chainID flow.ChainID , protocolDataDir string , chunkDataPackDir string ) error {
26+ func VerifyLastKHeight (k uint64 , chainID flow.ChainID , protocolDataDir string , chunkDataPackDir string ) ( err error ) {
2727 closer , storages , chunkDataPacks , state , verifier , err := initStorages (chainID , protocolDataDir , chunkDataPackDir )
2828 if err != nil {
2929 return fmt .Errorf ("could not init storages: %w" , err )
3030 }
3131 defer func () {
32- err := closer ()
33- if err != nil {
34- log . Error (). Err ( err ). Msg ( "failed to close storages" )
32+ closerErr := closer ()
33+ if closerErr != nil {
34+ err = errors . Join ( err , closerErr )
3535 }
3636 }()
3737
@@ -132,15 +132,16 @@ func initStorages(chainID flow.ChainID, dataDir string, chunkDataPackDir string)
132132
133133 verifier := makeVerifier (log .Logger , chainID , storages .Headers )
134134 closer := func () error {
135- err := db .Close ()
136- if err != nil {
137- return fmt .Errorf ("failed to close protocol db: %w" , err )
135+ var dbErr , chunkDataPackDBErr error
136+
137+ if err := db .Close (); err != nil {
138+ dbErr = fmt .Errorf ("failed to close protocol db: %w" , err )
138139 }
139- err = chunkDataPackDB . Close ()
140- if err != nil {
141- return fmt .Errorf ("failed to close chunk data pack db: %w" , err )
140+
141+ if err := chunkDataPackDB . Close (); err != nil {
142+ chunkDataPackDBErr = fmt .Errorf ("failed to close chunk data pack db: %w" , err )
142143 }
143- return nil
144+ return errors . Join ( dbErr , chunkDataPackDBErr )
144145 }
145146 return closer , storages , chunkDataPacks , state , verifier , nil
146147}
0 commit comments