feat: CV Close databases opened by cosmos-sdk during BaseApp shutdown (#17667)

This commit is contained in:
Chill Validation
2023-09-10 10:46:40 +00:00
committed by GitHub
parent 2085695078
commit ba45b0f2b7
2 changed files with 24 additions and 1 deletions
+23 -1
View File
@@ -1097,5 +1097,27 @@ func (app *BaseApp) ProcessProposalVerifyTx(txBz []byte) (sdk.Tx, error) {
// Close is called in start cmd to gracefully cleanup resources.
func (app *BaseApp) Close() error {
return nil
var errs []error
// Close app.db (opened by cosmos-sdk/server/start.go call to openDB)
if app.db != nil {
app.logger.Info("Closing application.db")
if err := app.db.Close(); err != nil {
errs = append(errs, err)
}
}
// Close app.snapshotManager
// - opened when app chains use cosmos-sdk/server/util.go/DefaultBaseappOptions (boilerplate)
// - which calls cosmos-sdk/server/util.go/GetSnapshotStore
// - which is passed to baseapp/options.go/SetSnapshot
// - to set app.snapshotManager = snapshots.NewManager
if app.snapshotManager != nil {
app.logger.Info("Closing snapshots/metadata.db")
if err := app.snapshotManager.Close(); err != nil {
errs = append(errs, err)
}
}
return errors.Join(errs...)
}