aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/replication/sink/filersink/fetch_write.go17
1 files changed, 8 insertions, 9 deletions
diff --git a/weed/replication/sink/filersink/fetch_write.go b/weed/replication/sink/filersink/fetch_write.go
index 00a48d41a..2acad9e63 100644
--- a/weed/replication/sink/filersink/fetch_write.go
+++ b/weed/replication/sink/filersink/fetch_write.go
@@ -24,16 +24,15 @@ func (fs *FilerSink) replicateChunks(sourceChunks []*filer_pb.FileChunk, path st
var wg sync.WaitGroup
for chunkIndex, sourceChunk := range sourceChunks {
wg.Add(1)
+ index, source := chunkIndex, sourceChunk
fs.executor.Execute(func() {
- func(chunk *filer_pb.FileChunk, index int) {
- defer wg.Done()
- replicatedChunk, e := fs.replicateOneChunk(chunk, path)
- if e != nil {
- err = e
- return
- }
- replicatedChunks[index] = replicatedChunk
- }(sourceChunk, chunkIndex)
+ defer wg.Done()
+ replicatedChunk, e := fs.replicateOneChunk(source, path)
+ if e != nil {
+ err = e
+ return
+ }
+ replicatedChunks[index] = replicatedChunk
})
}
wg.Wait()