microsoft / microsoft/Windows-classic-samples

CloudMirror can't hydrate files greater than 1GB

Open
#143 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
5.7k
Forks
3.3k
PR merge metrics
No merged PRs in 30d

Description

Large files can't be hydrated using cfapi.

Steps to reproduce:

  1. Start CloudMirror sample
  2. Create a file in Source Folder > 1GB. (EX: 5GB)
  3. Go to mirror folder and check that the file is shown.
  4. Copy paste the file outside the mirror folder (Ex: Ctrl+C Ctrl+v in Documents)
  5. Wait for the transfer to finish.

Expected:
The transfer of the file is finished successfully.

Actually:
The transfer stops after copying 1 GB of data.
An error appears after 1 GB is transfered.
The parameter: FetchData.RequiredLength always has the value of 1073741824 for files bigger than 1GB.

The parameter: FetchData.RequiredLength should have the value of file size if the file was never hydrated, and (file size - offset ) if it has some data.

Hint: set CHUNKSIZE to 1048576 in order to speed up the copy process

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the CloudMirror sample's cfapi hydration path and trace where FetchData.RequiredLength is set for files larger than 1GB. Reproduce with CHUNKSIZE=1048576 using a file over 1GB, then verify that required length is the full file size when unhydrated and file size minus offset when partially hydrated; confirm copying outside the mirror completes.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.