commit after every bucket

This commit is contained in:
Barak Michener 2015-06-23 18:39:08 -04:00
parent 8ee61735b7
commit 41f5573698

View file

@ -37,6 +37,7 @@ var migrateFunctions = []upgradeFunc{
func upgradeBolt(path string, opts graph.Options) error { func upgradeBolt(path string, opts graph.Options) error {
db, err := bolt.Open(path, 0600, nil) db, err := bolt.Open(path, 0600, nil)
defer db.Close() defer db.Close()
if err != nil { if err != nil {
glog.Errorln("Error, couldn't open! ", err) glog.Errorln("Error, couldn't open! ", err)
return err return err
@ -105,6 +106,14 @@ func upgrade1To2(db *bolt.DB) error {
} }
lb.Put(k, data) 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)) fmt.Println("Upgrading bucket", string(nodeBucket))
nb := tx.Bucket(nodeBucket) nb := tx.Bucket(nodeBucket)
c = nb.Cursor() c = nb.Cursor()
@ -120,8 +129,16 @@ func upgrade1To2(db *bolt.DB) error {
} }
nb.Put(k, data) nb.Put(k, data)
} }
if err := tx.Commit(); err != nil {
return err
}
for _, bucket := range [4][]byte{spoBucket, ospBucket, posBucket, cpsBucket} { 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)) fmt.Println("Upgrading bucket", string(bucket))
b := tx.Bucket(bucket) b := tx.Bucket(bucket)
cur := b.Cursor() cur := b.Cursor()
@ -137,9 +154,9 @@ func upgrade1To2(db *bolt.DB) error {
} }
b.Put(k, data) b.Put(k, data)
} }
}
if err := tx.Commit(); err != nil { if err := tx.Commit(); err != nil {
return err return err
} }
}
return nil return nil
} }