aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-08-09 15:08:53 -0700
committerChris Lu <chris.lu@gmail.com>2021-08-09 15:08:53 -0700
commit9096f6f4f7cbb76e34d3ec1a0c77001f22dc6275 (patch)
treee0cf44821001e3a6748a1de5b17cef1691438ecb
parent402315f117ec02d511dde0b4428bfd8d0ec8716d (diff)
downloadseaweedfs-9096f6f4f7cbb76e34d3ec1a0c77001f22dc6275.tar.xz
seaweedfs-9096f6f4f7cbb76e34d3ec1a0c77001f22dc6275.zip
cache: set upper limit of chunk size
-rw-r--r--weed/server/filer_grpc_server_remote.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/weed/server/filer_grpc_server_remote.go b/weed/server/filer_grpc_server_remote.go
index e7c9c9e6e..9cd3c296b 100644
--- a/weed/server/filer_grpc_server_remote.go
+++ b/weed/server/filer_grpc_server_remote.go
@@ -69,7 +69,7 @@ func (fs *FilerServer) DownloadToLocal(ctx context.Context, req *filer_pb.Downlo
// find a good chunk size
chunkSize := int64(5 * 1024 * 1024)
chunkCount := entry.Remote.RemoteSize/chunkSize + 1
- for chunkCount > 1000 {
+ for chunkCount > 1000 && chunkSize < int64(fs.option.MaxMB)*1024*1024/2 {
chunkSize *= 2
chunkCount = entry.Remote.RemoteSize/chunkSize + 1
}
@@ -78,6 +78,7 @@ func (fs *FilerServer) DownloadToLocal(ctx context.Context, req *filer_pb.Downlo
var chunks []*filer_pb.FileChunk
+ // FIXME limit on parallel
for offset := int64(0); offset < entry.Remote.RemoteSize; offset += chunkSize {
size := chunkSize
if offset+chunkSize > entry.Remote.RemoteSize {