{"action":"created","issue":{"url":"https://api.github.com/repos/jaredjennings/darbrrb/issues/15","repository_url":"https://api.github.com/repos/jaredjennings/darbrrb","labels_url":"https://api.github.com/repos/jaredjennings/darbrrb/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/jaredjennings/darbrrb/issues/15/comments","events_url":"https://api.github.com/repos/jaredjennings/darbrrb/issues/15/events","html_url":"https://github.com/jaredjennings/darbrrb/issues/15","id":142116406,"number":15,"title":"when getting the last slice, try not to completely process the entire last set","user":{"login":"jaredjennings","id":629030,"avatar_url":"https://avatars.githubusercontent.com/u/629030?v=3","gravatar_id":"","url":"https://api.github.com/users/jaredjennings","html_url":"https://github.com/jaredjennings","followers_url":"https://api.github.com/users/jaredjennings/followers","following_url":"https://api.github.com/users/jaredjennings/following{/other_user}","gists_url":"https://api.github.com/users/jaredjennings/gists{/gist_id}","starred_url":"https://api.github.com/users/jaredjennings/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaredjennings/subscriptions","organizations_url":"https://api.github.com/users/jaredjennings/orgs","repos_url":"https://api.github.com/users/jaredjennings/repos","events_url":"https://api.github.com/users/jaredjennings/events{/privacy}","received_events_url":"https://api.github.com/users/jaredjennings/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2016-03-20T01:05:42Z","updated_at":"2016-03-25T14:44:27Z","closed_at":null,"body":"    darbrrb 27847 [2016-03-19 16:44:18,917] __main__: called with args ['/home/jaredj/a-backup/scratch/darbrrb.py', '-v', '-v', '-v', '_extract', '/home/jaredj/ppbackup/scratch', 'backupname', '0', 'dar', 'init']\r\n\r\ndarbrrb then proceeds to ask for all the discs in the last set, copy the whole set in, recover all the dar slices in the last set with parchive, and some time in a few hours, it will tell dar, \"here is your last slice.\" This particular backup only has one set, but when fully restoring a multiset backup, we would do up the entire last set like this, and then immediately throw it out and do up the first set, through to the last set, and do the entire last set over again, because we only ever have one set in scratch.\r\n\r\nThe last slice could be on any disc in the last set - we don't presently know its number at restore time. We could write a file on each disc in the last set saying what the number of the last slice was. That's small enough that it would fit in the overhead. Then, getting the last slice would mean first getting that file, then asking for the right disc with the last slice on it, then figuring out whether it has been corrupted and pulling in the last n slices plus redundancy data to run parchive. That could end up to be a lot of disc shuffling, but if the backup is bigger than one set it will save a lot of time: my six-disc, one-set backup takes hours to read off of the Blu-Ray discs, and each disc is not quite half full.\r\n"},"comment":{"url":"https://api.github.com/repos/jaredjennings/darbrrb/issues/comments/201318971","html_url":"https://github.com/jaredjennings/darbrrb/issues/15#issuecomment-201318971","issue_url":"https://api.github.com/repos/jaredjennings/darbrrb/issues/15","id":201318971,"user":{"login":"jaredjennings","id":629030,"avatar_url":"https://avatars.githubusercontent.com/u/629030?v=3","gravatar_id":"","url":"https://api.github.com/users/jaredjennings","html_url":"https://github.com/jaredjennings","followers_url":"https://api.github.com/users/jaredjennings/followers","following_url":"https://api.github.com/users/jaredjennings/following{/other_user}","gists_url":"https://api.github.com/users/jaredjennings/gists{/gist_id}","starred_url":"https://api.github.com/users/jaredjennings/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaredjennings/subscriptions","organizations_url":"https://api.github.com/users/jaredjennings/orgs","repos_url":"https://api.github.com/users/jaredjennings/repos","events_url":"https://api.github.com/users/jaredjennings/events{/privacy}","received_events_url":"https://api.github.com/users/jaredjennings/received_events","type":"User","site_admin":false},"created_at":"2016-03-25T14:44:27Z","updated_at":"2016-03-25T14:44:27Z","body":"Smarts, df575ff! No specific unit tests. The whole-restore test does test how many times par gets run."}}