Browse Source

Merge pull request #4064 from xiang90/reduce_fysnc

backend: do not commit unless there is a pending change
Xiang Li 10 years ago
parent
commit
aec356e416
1 changed files with 4 additions and 0 deletions
  1. 4 0
      storage/backend/batch_tx.go

+ 4 - 0
storage/backend/batch_tx.go

@@ -132,7 +132,11 @@ func (t *batchTx) commit(stop bool) {
 	var err error
 	// commit the last tx
 	if t.tx != nil {
+		if t.pending == 0 && !stop {
+			return
+		}
 		err = t.tx.Commit()
+		t.pending = 0
 		if err != nil {
 			log.Fatalf("storage: cannot commit tx (%s)", err)
 		}