diff --git a/weed/command/filer_copy.go b/weed/command/filer_copy.go index 1dd831cb6..cc73549b4 100644 --- a/weed/command/filer_copy.go +++ b/weed/command/filer_copy.go @@ -400,15 +400,21 @@ func (worker *FileCopyWorker) uploadFileInChunks(ctx context.Context, task FileC wg.Wait() close(chunksChan) - if uploadError != nil { - return uploadError - } var chunks []*filer_pb.FileChunk for chunk := range chunksChan { chunks = append(chunks, chunk) } + if uploadError != nil { + var fileIds []string + for _, chunk := range chunks { + fileIds = append(fileIds, chunk.FileId) + } + operation.DeleteFiles(worker.options.masterClient.GetMaster(), worker.options.grpcDialOption, fileIds) + return uploadError + } + if err := withFilerClient(ctx, worker.filerGrpcAddress, worker.options.grpcDialOption, func(client filer_pb.SeaweedFilerClient) error { request := &filer_pb.CreateEntryRequest{ Directory: task.destinationUrlPath,