restic/internal/archiver
Alexander Neumann f99c95c766 archiver: Fix intermediate index upload
A user discovered[1] that when the backup finishes during the upload of
an intermediate index, the upload is cancelled and the index never fully
saved, but the snapshot is saved and the backup finalizes without an
error. This lead to a situation where a snapshot references data that is
contained in the repo, but not referenced in any index, leading to
strange error messages.

This commit uses a dedicated context to signal the intermediate index
uploading routine to terminate after the last index has been uploaded.
This way, an upload running when the backup finishes is completed before
the routine terminates and the snapshot is saved.

[1] https://forum.restic.net/t/error-loading-tree-check-prune-and-forget-gives-error-b2-backend/406
2018-01-26 22:01:07 +01:00
..
archive_reader.go debug: Remove manual Str() call Log() 2018-01-25 20:49:41 +01:00
archive_reader_test.go Merge pull request #1549 from MJDSys/more_index_lookup_avoids 2018-01-24 20:53:30 +01:00
archiver.go archiver: Fix intermediate index upload 2018-01-26 22:01:07 +01:00
archiver_duplication_test.go Fix calls to repo/backend.List() everywhere 2018-01-21 21:15:09 +01:00
archiver_int_test.go Run goimports 2017-07-23 14:21:03 +02:00
archiver_test.go Fix calls to repo/backend.List() everywhere 2018-01-21 21:15:09 +01:00
buffer_pool.go Moves files 2017-07-23 14:19:13 +02:00
testing.go new sub-option for backup: time 2017-09-09 13:26:35 +02:00