Browse Source

mvcc: add a TODO in (*store).Hash, to warn against potential data race of currentRev and suggest feasible fix

Ziheng Liu 6 years ago
parent
commit
077dd74827
1 changed files with 1 additions and 0 deletions
  1. 1 0
      mvcc/kvstore.go

+ 1 - 0
mvcc/kvstore.go

@@ -165,6 +165,7 @@ func (s *store) compactBarrier(ctx context.Context, ch chan struct{}) {
 }
 
 func (s *store) Hash() (hash uint32, revision int64, err error) {
+	// TODO: hash and revision could be inconsistent, one possible fix is to add s.revMu.RLock() at the beginning of function, which is costly
 	start := time.Now()
 
 	s.b.ForceCommit()