{"issue":{"user":{"id":45057,"login":"russss","url":"https://api.github.com/users/russss","gravatar_id":"8b3bb7691f5081b29e318ab4e84479e7","avatar_url":"https://secure.gravatar.com/avatar/8b3bb7691f5081b29e318ab4e84479e7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"milestone":null,"title":"Non-existent files are handled wrongly by wal-fetch","created_at":"2011-12-20T16:50:33Z","labels":[],"state":"open","updated_at":"2011-12-20T19:59:00Z","id":2614960,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"html_url":"https://github.com/heroku/WAL-E/issues/22","closed_at":null,"number":22,"body":"The Postgres manual says: \"The command will be asked for file names that are not present in the archive; it must return nonzero when so asked\", and yet this command spins on a boto.exception.InvalidUriError in that case:\r\n\r\n 2011-12-20T16:32:42.016+00 pid=7360 wal_e.worker.s3_worker WARNING  MSG: Retrying WAL file fetch from unexpected exception        DETAIL: The exception type is <class 'boto.exception.InvalidUriError'> and its value is Attempt to get key for \"s3://smarkets-test1/test/wal_005/0000000100000004000000C.lzo\" failed. This probably indicates the URI is invalid  There have been 5 attempts to fetch wal file s3://smarkets-test1/test/wal_005/0000000100000004000000C.lzo so far.\r\n\r\nThe fix is here, although it's on top of my encryption changes, so it may not apply cleanly without them:\r\n\r\nhttps://github.com/russss/WAL-E/commit/bece7d877e26fb8bf61eebb6f95fe7ed33b24ef1","url":"https://api.github.com/repos/heroku/WAL-E/issues/22","comments":1,"assignee":null},"comment":{"user":{"id":7191,"login":"fdr","url":"https://api.github.com/users/fdr","gravatar_id":"2ac9e89349327ec77018f08365098f59","avatar_url":"https://secure.gravatar.com/avatar/2ac9e89349327ec77018f08365098f59?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"created_at":"2011-12-20T19:59:00Z","updated_at":"2011-12-20T19:59:00Z","id":3224347,"body":"I have unfinished/unpushed an exception processor that also is intended to accomplish this (actually, right now WAL-E might exit from exceptions in more cases than I want during `wal-fetch`), but your way is cleaner.  So I think I'll combine the two...\r\n\r\nJust a moment...","url":"https://api.github.com/repos/heroku/WAL-E/issues/comments/3224347"},"action":"created"}