From 41f5573698dbb04d3ecc6baa183c7492f2c82e32 Mon Sep 17 00:00:00 2001 From: Barak Michener Date: Tue, 23 Jun 2015 18:39:08 -0400 Subject: [PATCH] commit after every bucket --- graph/bolt/migrate.go | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/graph/bolt/migrate.go b/graph/bolt/migrate.go index d831ee1..afee99a 100644 --- a/graph/bolt/migrate.go +++ b/graph/bolt/migrate.go @@ -37,6 +37,7 @@ var migrateFunctions = []upgradeFunc{ func upgradeBolt(path string, opts graph.Options) error { db, err := bolt.Open(path, 0600, nil) defer db.Close() + if err != nil { glog.Errorln("Error, couldn't open! ", err) return err @@ -105,6 +106,14 @@ func upgrade1To2(db *bolt.DB) error { } lb.Put(k, data) } + if err := tx.Commit(); err != nil { + return err + } + tx, err = db.Begin(true) + if err != nil { + return err + } + defer tx.Rollback() fmt.Println("Upgrading bucket", string(nodeBucket)) nb := tx.Bucket(nodeBucket) c = nb.Cursor() @@ -120,8 +129,16 @@ func upgrade1To2(db *bolt.DB) error { } nb.Put(k, data) } + if err := tx.Commit(); err != nil { + return err + } for _, bucket := range [4][]byte{spoBucket, ospBucket, posBucket, cpsBucket} { + tx, err = db.Begin(true) + if err != nil { + return err + } + defer tx.Rollback() fmt.Println("Upgrading bucket", string(bucket)) b := tx.Bucket(bucket) cur := b.Cursor() @@ -137,9 +154,9 @@ func upgrade1To2(db *bolt.DB) error { } b.Put(k, data) } - } - if err := tx.Commit(); err != nil { - return err + if err := tx.Commit(); err != nil { + return err + } } return nil }