From 574ee42ad7bce47d4deafdf73d01b533b66df836 Mon Sep 17 00:00:00 2001 From: Ted Yu Date: Wed, 15 Jan 2020 13:54:52 -0800 Subject: [PATCH] mvcc: rollback tmptx in case of error (#11525) Co-authored-by: yutedz <54038175+yutedz@users.noreply.github.com> --- mvcc/backend/backend.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mvcc/backend/backend.go b/mvcc/backend/backend.go index 1fcceb68b..9a96bee2a 100644 --- a/mvcc/backend/backend.go +++ b/mvcc/backend/backend.go @@ -464,6 +464,11 @@ func defragdb(odb, tmpdb *bolt.DB, limit int) error { if err != nil { return err } + defer func() { + if err != nil { + tmptx.Rollback() + } + }() // open a tx on old db for read tx, err := odb.Begin(false)