payload: {"action":"opened","number":532,"pull_request":{"url":"https://api.github.com/repos/osmlab/atlas/pulls/532","id":318085084,"node_id":"MDExOlB1bGxSZXF1ZXN0MzE4MDg1MDg0","html_url":"https://github.com/osmlab/atlas/pull/532","diff_url":"https://github.com/osmlab/atlas/pull/532.diff","patch_url":"https://github.com/osmlab/atlas/pull/532.patch","issue_url":"https://api.github.com/repos/osmlab/atlas/issues/532","number":532,"state":"open","locked":false,"title":"Cache: Retry downloading the file from the fetcher","user":{"login":"matthieun","id":1944860,"node_id":"MDQ6VXNlcjE5NDQ4NjA=","avatar_url":"https://avatars1.githubusercontent.com/u/1944860?v=4","gravatar_id":"","url":"https://api.github.com/users/matthieun","html_url":"https://github.com/matthieun","followers_url":"https://api.github.com/users/matthieun/followers","following_url":"https://api.github.com/users/matthieun/following{/other_user}","gists_url":"https://api.github.com/users/matthieun/gists{/gist_id}","starred_url":"https://api.github.com/users/matthieun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthieun/subscriptions","organizations_url":"https://api.github.com/users/matthieun/orgs","repos_url":"https://api.github.com/users/matthieun/repos","events_url":"https://api.github.com/users/matthieun/events{/privacy}","received_events_url":"https://api.github.com/users/matthieun/received_events","type":"User","site_admin":false},"body":"### Description:\r\n\r\nWhen a namespace caching strategy relies on a fetcher that is unreliable (reading files from a network storage for example) we should attempt multiple retries. Also if all retries fail, the error should be thrown, and not just logged.\r\n\r\nThis is in line with #529 \r\n\r\n### Potential Impact:\r\n\r\n**Breaking Change**: This might break any workflows expecting an exception to be handled here. Those workflows will have to be updated to handle the errors upstream.\r\n\r\n### Unit Test Approach:\r\n\r\nUse existing tests in Retry and NamespaceCachingStrategy\r\n\r\n### Test Results:\r\n\r\npass\r\n\r\n------\r\n\r\nIn doubt: [Contributing Guidelines](CONTRIBUTING.md)\r\n","created_at":"2019-09-16T22:16:49Z","updated_at":"2019-09-16T22:16:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":665329336,"node_id":"MDU6TGFiZWw2NjUzMjkzMzY=","url":"https://api.github.com/repos/osmlab/atlas/labels/Breaking%20Change","name":"Breaking Change","color":"b60205","default":false},{"id":664543817,"node_id":"MDU6TGFiZWw2NjQ1NDM4MTc=","url":"https://api.github.com/repos/osmlab/atlas/labels/Bug","name":"Bug","color":"ee0701","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/osmlab/atlas/pulls/532/commits","review_comments_url":"https://api.github.com/repos/osmlab/atlas/pulls/532/comments","review_comment_url":"https://api.github.com/repos/osmlab/atlas/pulls/comments{/number}","comments_url":"https://api.github.com/repos/osmlab/atlas/issues/532/comments","statuses_url":"https://api.github.com/repos/osmlab/atlas/statuses/657df5817cdc7b670877a9ab00f3982f9ce61638","head":{"label":"matthieun:retry","ref":"retry","sha":"657df5817cdc7b670877a9ab00f3982f9ce61638","user":{"login":"matthieun","id":1944860,"node_id":"MDQ6VXNlcjE5NDQ4NjA=","avatar_url":"https://avatars1.githubusercontent.com/u/1944860?v=4","gravatar_id":"","url":"https://api.github.com/users/matthieun","html_url":"https://github.com/matthieun","followers_url":"https://api.github.com/users/matthieun/followers","following_url":"https://api.github.com/users/matthieun/following{/other_user}","gists_url":"https://api.github.com/users/matthieun/gists{/gist_id}","starred_url":"https://api.github.com/users/matthieun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthieun/subscriptions","organizations_url":"https://api.github.com/users/matthieun/orgs","repos_url":"https://api.github.com/users/matthieun/repos","events_url":"https://api.github.com/users/matthieun/events{/privacy}","received_events_url":"https://api.github.com/users/matthieun/received_events","type":"User","site_admin":false},"repo":{"id":99721335,"node_id":"MDEwOlJlcG9zaXRvcnk5OTcyMTMzNQ==","name":"atlas","full_name":"matthieun/atlas","private":false,"owner":{"login":"matthieun","id":1944860,"node_id":"MDQ6VXNlcjE5NDQ4NjA=","avatar_url":"https://avatars1.githubusercontent.com/u/1944860?v=4","gravatar_id":"","url":"https://api.github.com/users/matthieun","html_url":"https://github.com/matthieun","followers_url":"https://api.github.com/users/matthieun/followers","following_url":"https://api.github.com/users/matthieun/following{/other_user}","gists_url":"https://api.github.com/users/matthieun/gists{/gist_id}","starred_url":"https://api.github.com/users/matthieun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthieun/subscriptions","organizations_url":"https://api.github.com/users/matthieun/orgs","repos_url":"https://api.github.com/users/matthieun/repos","events_url":"https://api.github.com/users/matthieun/events{/privacy}","received_events_url":"https://api.github.com/users/matthieun/received_events","type":"User","site_admin":false},"html_url":"https://github.com/matthieun/atlas","description":"OSM in memory","fork":true,"url":"https://api.github.com/repos/matthieun/atlas","forks_url":"https://api.github.com/repos/matthieun/atlas/forks","keys_url":"https://api.github.com/repos/matthieun/atlas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/matthieun/atlas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/matthieun/atlas/teams","hooks_url":"https://api.github.com/repos/matthieun/atlas/hooks","issue_events_url":"https://api.github.com/repos/matthieun/atlas/issues/events{/number}","events_url":"https://api.github.com/repos/matthieun/atlas/events","assignees_url":"https://api.github.com/repos/matthieun/atlas/assignees{/user}","branches_url":"https://api.github.com/repos/matthieun/atlas/branches{/branch}","tags_url":"https://api.github.com/repos/matthieun/atlas/tags","blobs_url":"https://api.github.com/repos/matthieun/atlas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/matthieun/atlas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/matthieun/atlas/git/refs{/sha}","trees_url":"https://api.github.com/repos/matthieun/atlas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/matthieun/atlas/statuses/{sha}","languages_url":"https://api.github.com/repos/matthieun/atlas/languages","stargazers_url":"https://api.github.com/repos/matthieun/atlas/stargazers","contributors_url":"https://api.github.com/repos/matthieun/atlas/contributors","subscribers_url":"https://api.github.com/repos/matthieun/atlas/subscribers","subscription_url":"https://api.github.com/repos/matthieun/atlas/subscription","commits_url":"https://api.github.com/repos/matthieun/atlas/commits{/sha}","git_commits_url":"https://api.github.com/repos/matthieun/atlas/git/commits{/sha}","comments_url":"https://api.github.com/repos/matthieun/atlas/comments{/number}","issue_comment_url":"https://api.github.com/repos/matthieun/atlas/issues/comments{/number}","contents_url":"https://api.github.com/repos/matthieun/atlas/contents/{+path}","compare_url":"https://api.github.com/repos/matthieun/atlas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/matthieun/atlas/merges","archive_url":"https://api.github.com/repos/matthieun/atlas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/matthieun/atlas/downloads","issues_url":"https://api.github.com/repos/matthieun/atlas/issues{/number}","pulls_url":"https://api.github.com/repos/matthieun/atlas/pulls{/number}","milestones_url":"https://api.github.com/repos/matthieun/atlas/milestones{/number}","notifications_url":"https://api.github.com/repos/matthieun/atlas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/matthieun/atlas/labels{/name}","releases_url":"https://api.github.com/repos/matthieun/atlas/releases{/id}","deployments_url":"https://api.github.com/repos/matthieun/atlas/deployments","created_at":"2017-08-08T17:55:01Z","updated_at":"2019-09-16T22:06:27Z","pushed_at":"2019-09-16T22:13:33Z","git_url":"git://github.com/matthieun/atlas.git","ssh_url":"git@github.com:matthieun/atlas.git","clone_url":"https://github.com/matthieun/atlas.git","svn_url":"https://github.com/matthieun/atlas","homepage":null,"size":63601,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"dev"}},"base":{"label":"osmlab:dev","ref":"dev","sha":"e800153502ed4b91f432fe6f90ecfc74f453ba9f","user":{"login":"osmlab","id":3856374,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM4NTYzNzQ=","avatar_url":"https://avatars3.githubusercontent.com/u/3856374?v=4","gravatar_id":"","url":"https://api.github.com/users/osmlab","html_url":"https://github.com/osmlab","followers_url":"https://api.github.com/users/osmlab/followers","following_url":"https://api.github.com/users/osmlab/following{/other_user}","gists_url":"https://api.github.com/users/osmlab/gists{/gist_id}","starred_url":"https://api.github.com/users/osmlab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/osmlab/subscriptions","organizations_url":"https://api.github.com/users/osmlab/orgs","repos_url":"https://api.github.com/users/osmlab/repos","events_url":"https://api.github.com/users/osmlab/events{/privacy}","received_events_url":"https://api.github.com/users/osmlab/received_events","type":"Organization","site_admin":false},"repo":{"id":99717758,"node_id":"MDEwOlJlcG9zaXRvcnk5OTcxNzc1OA==","name":"atlas","full_name":"osmlab/atlas","private":false,"owner":{"login":"osmlab","id":3856374,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM4NTYzNzQ=","avatar_url":"https://avatars3.githubusercontent.com/u/3856374?v=4","gravatar_id":"","url":"https://api.github.com/users/osmlab","html_url":"https://github.com/osmlab","followers_url":"https://api.github.com/users/osmlab/followers","following_url":"https://api.github.com/users/osmlab/following{/other_user}","gists_url":"https://api.github.com/users/osmlab/gists{/gist_id}","starred_url":"https://api.github.com/users/osmlab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/osmlab/subscriptions","organizations_url":"https://api.github.com/users/osmlab/orgs","repos_url":"https://api.github.com/users/osmlab/repos","events_url":"https://api.github.com/users/osmlab/events{/privacy}","received_events_url":"https://api.github.com/users/osmlab/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/osmlab/atlas","description":"OSM in memory","fork":false,"url":"https://api.github.com/repos/osmlab/atlas","forks_url":"https://api.github.com/repos/osmlab/atlas/forks","keys_url":"https://api.github.com/repos/osmlab/atlas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/osmlab/atlas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/osmlab/atlas/teams","hooks_url":"https://api.github.com/repos/osmlab/atlas/hooks","issue_events_url":"https://api.github.com/repos/osmlab/atlas/issues/events{/number}","events_url":"https://api.github.com/repos/osmlab/atlas/events","assignees_url":"https://api.github.com/repos/osmlab/atlas/assignees{/user}","branches_url":"https://api.github.com/repos/osmlab/atlas/branches{/branch}","tags_url":"https://api.github.com/repos/osmlab/atlas/tags","blobs_url":"https://api.github.com/repos/osmlab/atlas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/osmlab/atlas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/osmlab/atlas/git/refs{/sha}","trees_url":"https://api.github.com/repos/osmlab/atlas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/osmlab/atlas/statuses/{sha}","languages_url":"https://api.github.com/repos/osmlab/atlas/languages","stargazers_url":"https://api.github.com/repos/osmlab/atlas/stargazers","contributors_url":"https://api.github.com/repos/osmlab/atlas/contributors","subscribers_url":"https://api.github.com/repos/osmlab/atlas/subscribers","subscription_url":"https://api.github.com/repos/osmlab/atlas/subscription","commits_url":"https://api.github.com/repos/osmlab/atlas/commits{/sha}","git_commits_url":"https://api.github.com/repos/osmlab/atlas/git/commits{/sha}","comments_url":"https://api.github.com/repos/osmlab/atlas/comments{/number}","issue_comment_url":"https://api.github.com/repos/osmlab/atlas/issues/comments{/number}","contents_url":"https://api.github.com/repos/osmlab/atlas/contents/{+path}","compare_url":"https://api.github.com/repos/osmlab/atlas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/osmlab/atlas/merges","archive_url":"https://api.github.com/repos/osmlab/atlas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/osmlab/atlas/downloads","issues_url":"https://api.github.com/repos/osmlab/atlas/issues{/number}","pulls_url":"https://api.github.com/repos/osmlab/atlas/pulls{/number}","milestones_url":"https://api.github.com/repos/osmlab/atlas/milestones{/number}","notifications_url":"https://api.github.com/repos/osmlab/atlas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/osmlab/atlas/labels{/name}","releases_url":"https://api.github.com/repos/osmlab/atlas/releases{/id}","deployments_url":"https://api.github.com/repos/osmlab/atlas/deployments","created_at":"2017-08-08T17:14:27Z","updated_at":"2019-09-16T16:55:52Z","pushed_at":"2019-09-16T17:09:32Z","git_url":"git://github.com/osmlab/atlas.git","ssh_url":"git@github.com:osmlab/atlas.git","clone_url":"https://github.com/osmlab/atlas.git","svn_url":"https://github.com/osmlab/atlas","homepage":null,"size":63595,"stargazers_count":126,"watchers_count":126,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":52,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":16,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":52,"open_issues":16,"watchers":126,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/osmlab/atlas/pulls/532"},"html":{"href":"https://github.com/osmlab/atlas/pull/532"},"issue":{"href":"https://api.github.com/repos/osmlab/atlas/issues/532"},"comments":{"href":"https://api.github.com/repos/osmlab/atlas/issues/532/comments"},"review_comments":{"href":"https://api.github.com/repos/osmlab/atlas/pulls/532/comments"},"review_comment":{"href":"https://api.github.com/repos/osmlab/atlas/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/osmlab/atlas/pulls/532/commits"},"statuses":{"href":"https://api.github.com/repos/osmlab/atlas/statuses/657df5817cdc7b670877a9ab00f3982f9ce61638"}},"author_association":"COLLABORATOR","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":2,"additions":21,"deletions":17,"changed_files":1}}
other: {"actor":{"display_login":"matthieun"}}