node: only delete db ref on close successfully (#35083)

This commit is contained in:
cui 2026-06-01 10:56:38 +08:00 committed by GitHub
parent 5016e54406
commit 831ef5a453
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -772,10 +772,13 @@ type closeTrackingDB struct {
}
func (db *closeTrackingDB) Close() error {
db.n.lock.Lock()
delete(db.n.databases, db)
db.n.lock.Unlock()
return db.Database.Close()
err := db.Database.Close()
if err == nil {
db.n.lock.Lock()
delete(db.n.databases, db)
db.n.lock.Unlock()
}
return err
}
// wrapDatabase ensures the database will be auto-closed when Node is closed.