diff options
| author | Chris Lu <chris.lu@gmail.com> | 2014-03-23 21:56:24 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2014-03-23 21:56:24 -0700 |
| commit | b1f083cb604483cc30d4bec21b69038dc7cb7e55 (patch) | |
| tree | ff5460c3fa285f17e8d6722b7b82090fd0261db3 /go/weed/benchmark.go | |
| parent | 5c6a16676130e0bf8d53fef14c94befeb96f76d8 (diff) | |
| download | seaweedfs-b1f083cb604483cc30d4bec21b69038dc7cb7e55.tar.xz seaweedfs-b1f083cb604483cc30d4bec21b69038dc7cb7e55.zip | |
fix delayed deletion
Diffstat (limited to 'go/weed/benchmark.go')
| -rw-r--r-- | go/weed/benchmark.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/go/weed/benchmark.go b/go/weed/benchmark.go index 8a13f31c2..ae89ea664 100644 --- a/go/weed/benchmark.go +++ b/go/weed/benchmark.go @@ -171,17 +171,17 @@ type delayedFile struct { } func writeFiles(idChan chan int, fileIdLineChan chan string, s *stats) { - deleteChan := make(chan *delayedFile, 100) + delayedDeleteChan := make(chan *delayedFile, 100) var waitForDeletions sync.WaitGroup for i := 0; i < 7; i++ { go func() { waitForDeletions.Add(1) - for df := range deleteChan { + for df := range delayedDeleteChan { if df == nil { break } - if df.enterTime.Add(time.Second).Before(time.Now()) { - time.Sleep(df.enterTime.Add(time.Second).Sub(time.Now())) + if df.enterTime.After(time.Now()) { + time.Sleep(df.enterTime.Sub(time.Now())) } fp := df.fp serverLimitChan[fp.Server] <- true @@ -210,7 +210,7 @@ func writeFiles(idChan chan int, fileIdLineChan chan string, s *stats) { if _, err := fp.Upload(0, *b.server); err == nil { if rand.Intn(100) < *b.deletePercentage { s.total++ - deleteChan <- &delayedFile{time.Now(), fp} + delayedDeleteChan <- &delayedFile{time.Now().Add(time.Second), fp} } else { fileIdLineChan <- fp.Fid } @@ -232,7 +232,7 @@ func writeFiles(idChan chan int, fileIdLineChan chan string, s *stats) { break } } - close(deleteChan) + close(delayedDeleteChan) waitForDeletions.Wait() wait.Done() } |
