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 { func (db *closeTrackingDB) Close() error {
err := db.Database.Close()
if err == nil {
db.n.lock.Lock() db.n.lock.Lock()
delete(db.n.databases, db) delete(db.n.databases, db)
db.n.lock.Unlock() db.n.lock.Unlock()
return db.Database.Close() }
return err
} }
// wrapDatabase ensures the database will be auto-closed when Node is closed. // wrapDatabase ensures the database will be auto-closed when Node is closed.