Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite the backup procedure to reduce memory usage #625

Merged
merged 4 commits into from
Apr 8, 2022

Conversation

gilbertchen
Copy link
Owner

Main changes:

  • Change the listing order of files/directories so that the local and remote
    snapshots can be compared on-the-fly.

  • Introduce a new struct called EntryList that maintains a list of
    files/directories, which are kept in memory when the number is lower, and
    serialized into a file when there are too many.

  • EntryList can also be turned into an on-disk incomplete snapshot quickly,
    to support fast-resume on next run.

  • ChunkOperator can now download and upload chunks, thus replacing original
    ChunkDownloader and ChunkUploader. The new ChunkDownloader is only used
    to prefetch chunks during the restore operation.

Main changes:

* Change the listing order of files/directories so that the local and remote
  snapshots can be compared on-the-fly.

* Introduce a new struct called EntryList that maintains a list of
  files/directories, which are kept in memory when the number is lower, and
  serialized into a file when there are too many.

* EntryList can also be turned into an on-disk incomplete snapshot quickly,
  to support fast-resume on next run.

* ChunkOperator can now download and upload chunks, thus replacing original
  ChunkDownloader and ChunkUploader.  The new ChunkDownloader is only used
  to prefetch chunks during the restore operation.
@gilbertchen
Copy link
Owner Author

This pull request has been mentioned on Duplicacy Forum. There might be relevant details there:

https://forum.duplicacy.com/t/memory-usage-optimization/5671/1

@gilbertchen
Copy link
Owner Author

This pull request has been mentioned on Duplicacy Forum. There might be relevant details there:

https://forum.duplicacy.com/t/is-this-project-dead/5768/3

@gilbertchen
Copy link
Owner Author

This pull request has been mentioned on Duplicacy Forum. There might be relevant details there:

https://forum.duplicacy.com/t/cipher-message-authentication-failed/5131/19

@gilbertchen
Copy link
Owner Author

This pull request has been mentioned on Duplicacy Forum. There might be relevant details there:

https://forum.duplicacy.com/t/feature-request-store-metadata-chunks-or-any-chunks-containing-them-in-a-different-folder/6145/3

@gilbertchen
Copy link
Owner Author

This pull request has been mentioned on Duplicacy Forum. There might be relevant details there:

https://forum.duplicacy.com/t/duplicacy-eating-all-ram-then-transfer-to-b2-slows-to-1mbps/6152/2

@gilbertchen gilbertchen merged commit f2d6de3 into master Apr 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant