{"action":"created","comment":{"url":"https://api.github.com/repos/xray/xray/pulls/comments/29399525","id":29399525,"diff_hunk":"@@ -42,6 +46,28 @@ def is_trivial_index(var):\n     return np.all(var.values == arange)\n \n \n+def robust_getitem(array, key, catch=Exception, max_retries=6,","path":"xray/backends/common.py","position":23,"original_position":22,"commit_id":"06103f1663473b5e4993d2951d91beb872fa1a01","original_commit_id":"e6f938256876c2c12b76d9af0f615941bf4ff087","user":{"login":"akleeman","id":514053,"avatar_url":"https://avatars.githubusercontent.com/u/514053?v=3","gravatar_id":"","url":"https://api.github.com/users/akleeman","html_url":"https://github.com/akleeman","followers_url":"https://api.github.com/users/akleeman/followers","following_url":"https://api.github.com/users/akleeman/following{/other_user}","gists_url":"https://api.github.com/users/akleeman/gists{/gist_id}","starred_url":"https://api.github.com/users/akleeman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akleeman/subscriptions","organizations_url":"https://api.github.com/users/akleeman/orgs","repos_url":"https://api.github.com/users/akleeman/repos","events_url":"https://api.github.com/users/akleeman/events{/privacy}","received_events_url":"https://api.github.com/users/akleeman/received_events","type":"User","site_admin":false},"body":"Yep, I agree probably not worth adding a dependency.  If, in the future, we decided it was worth it the implementation is pretty easy/nice:\r\n\r\n```\r\n@retry(retry_on_exception=lambda e: isinstance(e, RuntimeError),\r\n       wait_exponential_multiplier=500,\r\n       stop_max_attempt_number=6)\r\ndef foo():\r\n    return bar\r\n```","created_at":"2015-04-30T02:18:20Z","updated_at":"2015-04-30T02:18:20Z","html_url":"https://github.com/xray/xray/pull/405#discussion_r29399525","pull_request_url":"https://api.github.com/repos/xray/xray/pulls/405","_links":{"self":{"href":"https://api.github.com/repos/xray/xray/pulls/comments/29399525"},"html":{"href":"https://github.com/xray/xray/pull/405#discussion_r29399525"},"pull_request":{"href":"https://api.github.com/repos/xray/xray/pulls/405"}}},"pull_request":{"url":"https://api.github.com/repos/xray/xray/pulls/405","id":34407801,"html_url":"https://github.com/xray/xray/pull/405","diff_url":"https://github.com/xray/xray/pull/405.diff","patch_url":"https://github.com/xray/xray/pull/405.patch","issue_url":"https://api.github.com/repos/xray/xray/issues/405","number":405,"state":"open","locked":false,"title":"Add robust retry logic when accessing remote datasets","user":{"login":"shoyer","id":1217238,"avatar_url":"https://avatars.githubusercontent.com/u/1217238?v=3","gravatar_id":"","url":"https://api.github.com/users/shoyer","html_url":"https://github.com/shoyer","followers_url":"https://api.github.com/users/shoyer/followers","following_url":"https://api.github.com/users/shoyer/following{/other_user}","gists_url":"https://api.github.com/users/shoyer/gists{/gist_id}","starred_url":"https://api.github.com/users/shoyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shoyer/subscriptions","organizations_url":"https://api.github.com/users/shoyer/orgs","repos_url":"https://api.github.com/users/shoyer/repos","events_url":"https://api.github.com/users/shoyer/events{/privacy}","received_events_url":"https://api.github.com/users/shoyer/received_events","type":"User","site_admin":false},"body":"Accessing data from remote datasets now has retrying logic (with exponential backoff) that should make it robust to occasional bad responses from DAP servers.\r\n","created_at":"2015-04-29T21:25:47Z","updated_at":"2015-04-30T02:18:20Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0d93ea027246b1d977fad94c3df2fa8a4cece8df","assignee":null,"milestone":{"url":"https://api.github.com/repos/xray/xray/milestones/9","html_url":"https://github.com/xray/xray/milestones/0.5","labels_url":"https://api.github.com/repos/xray/xray/milestones/9/labels","id":987654,"number":9,"title":"0.5","description":"","creator":{"login":"shoyer","id":1217238,"avatar_url":"https://avatars.githubusercontent.com/u/1217238?v=3","gravatar_id":"","url":"https://api.github.com/users/shoyer","html_url":"https://github.com/shoyer","followers_url":"https://api.github.com/users/shoyer/followers","following_url":"https://api.github.com/users/shoyer/following{/other_user}","gists_url":"https://api.github.com/users/shoyer/gists{/gist_id}","starred_url":"https://api.github.com/users/shoyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shoyer/subscriptions","organizations_url":"https://api.github.com/users/shoyer/orgs","repos_url":"https://api.github.com/users/shoyer/repos","events_url":"https://api.github.com/users/shoyer/events{/privacy}","received_events_url":"https://api.github.com/users/shoyer/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":11,"state":"open","created_at":"2015-02-20T00:07:33Z","updated_at":"2015-04-29T21:25:47Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/xray/xray/pulls/405/commits","review_comments_url":"https://api.github.com/repos/xray/xray/pulls/405/comments","review_comment_url":"https://api.github.com/repos/xray/xray/pulls/comments{/number}","comments_url":"https://api.github.com/repos/xray/xray/issues/405/comments","statuses_url":"https://api.github.com/repos/xray/xray/statuses/06103f1663473b5e4993d2951d91beb872fa1a01","head":{"label":"shoyer:robust-getitem","ref":"robust-getitem","sha":"06103f1663473b5e4993d2951d91beb872fa1a01","user":{"login":"shoyer","id":1217238,"avatar_url":"https://avatars.githubusercontent.com/u/1217238?v=3","gravatar_id":"","url":"https://api.github.com/users/shoyer","html_url":"https://github.com/shoyer","followers_url":"https://api.github.com/users/shoyer/followers","following_url":"https://api.github.com/users/shoyer/following{/other_user}","gists_url":"https://api.github.com/users/shoyer/gists{/gist_id}","starred_url":"https://api.github.com/users/shoyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shoyer/subscriptions","organizations_url":"https://api.github.com/users/shoyer/orgs","repos_url":"https://api.github.com/users/shoyer/repos","events_url":"https://api.github.com/users/shoyer/events{/privacy}","received_events_url":"https://api.github.com/users/shoyer/received_events","type":"User","site_admin":false},"repo":{"id":19869133,"name":"xray","full_name":"shoyer/xray","owner":{"login":"shoyer","id":1217238,"avatar_url":"https://avatars.githubusercontent.com/u/1217238?v=3","gravatar_id":"","url":"https://api.github.com/users/shoyer","html_url":"https://github.com/shoyer","followers_url":"https://api.github.com/users/shoyer/followers","following_url":"https://api.github.com/users/shoyer/following{/other_user}","gists_url":"https://api.github.com/users/shoyer/gists{/gist_id}","starred_url":"https://api.github.com/users/shoyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shoyer/subscriptions","organizations_url":"https://api.github.com/users/shoyer/orgs","repos_url":"https://api.github.com/users/shoyer/repos","events_url":"https://api.github.com/users/shoyer/events{/privacy}","received_events_url":"https://api.github.com/users/shoyer/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/shoyer/xray","description":"Extended arrays for working with scientific datasets in Python. http://xray.readthedocs.org","fork":true,"url":"https://api.github.com/repos/shoyer/xray","forks_url":"https://api.github.com/repos/shoyer/xray/forks","keys_url":"https://api.github.com/repos/shoyer/xray/keys{/key_id}","collaborators_url":"https://api.github.com/repos/shoyer/xray/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/shoyer/xray/teams","hooks_url":"https://api.github.com/repos/shoyer/xray/hooks","issue_events_url":"https://api.github.com/repos/shoyer/xray/issues/events{/number}","events_url":"https://api.github.com/repos/shoyer/xray/events","assignees_url":"https://api.github.com/repos/shoyer/xray/assignees{/user}","branches_url":"https://api.github.com/repos/shoyer/xray/branches{/branch}","tags_url":"https://api.github.com/repos/shoyer/xray/tags","blobs_url":"https://api.github.com/repos/shoyer/xray/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/shoyer/xray/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/shoyer/xray/git/refs{/sha}","trees_url":"https://api.github.com/repos/shoyer/xray/git/trees{/sha}","statuses_url":"https://api.github.com/repos/shoyer/xray/statuses/{sha}","languages_url":"https://api.github.com/repos/shoyer/xray/languages","stargazers_url":"https://api.github.com/repos/shoyer/xray/stargazers","contributors_url":"https://api.github.com/repos/shoyer/xray/contributors","subscribers_url":"https://api.github.com/repos/shoyer/xray/subscribers","subscription_url":"https://api.github.com/repos/shoyer/xray/subscription","commits_url":"https://api.github.com/repos/shoyer/xray/commits{/sha}","git_commits_url":"https://api.github.com/repos/shoyer/xray/git/commits{/sha}","comments_url":"https://api.github.com/repos/shoyer/xray/comments{/number}","issue_comment_url":"https://api.github.com/repos/shoyer/xray/issues/comments{/number}","contents_url":"https://api.github.com/repos/shoyer/xray/contents/{+path}","compare_url":"https://api.github.com/repos/shoyer/xray/compare/{base}...{head}","merges_url":"https://api.github.com/repos/shoyer/xray/merges","archive_url":"https://api.github.com/repos/shoyer/xray/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/shoyer/xray/downloads","issues_url":"https://api.github.com/repos/shoyer/xray/issues{/number}","pulls_url":"https://api.github.com/repos/shoyer/xray/pulls{/number}","milestones_url":"https://api.github.com/repos/shoyer/xray/milestones{/number}","notifications_url":"https://api.github.com/repos/shoyer/xray/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/shoyer/xray/labels{/name}","releases_url":"https://api.github.com/repos/shoyer/xray/releases{/id}","created_at":"2014-05-16T20:03:09Z","updated_at":"2014-06-25T07:37:37Z","pushed_at":"2015-04-30T01:25:55Z","git_url":"git://github.com/shoyer/xray.git","ssh_url":"git@github.com:shoyer/xray.git","clone_url":"https://github.com/shoyer/xray.git","svn_url":"https://github.com/shoyer/xray","homepage":"","size":4967,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"xray:master","ref":"master","sha":"ce7ae0d4aa239088193cb84cbfd0c19033ad0bd0","user":{"login":"xray","id":7505795,"avatar_url":"https://avatars.githubusercontent.com/u/7505795?v=3","gravatar_id":"","url":"https://api.github.com/users/xray","html_url":"https://github.com/xray","followers_url":"https://api.github.com/users/xray/followers","following_url":"https://api.github.com/users/xray/following{/other_user}","gists_url":"https://api.github.com/users/xray/gists{/gist_id}","starred_url":"https://api.github.com/users/xray/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xray/subscriptions","organizations_url":"https://api.github.com/users/xray/orgs","repos_url":"https://api.github.com/users/xray/repos","events_url":"https://api.github.com/users/xray/events{/privacy}","received_events_url":"https://api.github.com/users/xray/received_events","type":"Organization","site_admin":false},"repo":{"id":13221727,"name":"xray","full_name":"xray/xray","owner":{"login":"xray","id":7505795,"avatar_url":"https://avatars.githubusercontent.com/u/7505795?v=3","gravatar_id":"","url":"https://api.github.com/users/xray","html_url":"https://github.com/xray","followers_url":"https://api.github.com/users/xray/followers","following_url":"https://api.github.com/users/xray/following{/other_user}","gists_url":"https://api.github.com/users/xray/gists{/gist_id}","starred_url":"https://api.github.com/users/xray/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xray/subscriptions","organizations_url":"https://api.github.com/users/xray/orgs","repos_url":"https://api.github.com/users/xray/repos","events_url":"https://api.github.com/users/xray/events{/privacy}","received_events_url":"https://api.github.com/users/xray/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/xray/xray","description":"N-D labeled arrays and datasets in Python","fork":false,"url":"https://api.github.com/repos/xray/xray","forks_url":"https://api.github.com/repos/xray/xray/forks","keys_url":"https://api.github.com/repos/xray/xray/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xray/xray/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xray/xray/teams","hooks_url":"https://api.github.com/repos/xray/xray/hooks","issue_events_url":"https://api.github.com/repos/xray/xray/issues/events{/number}","events_url":"https://api.github.com/repos/xray/xray/events","assignees_url":"https://api.github.com/repos/xray/xray/assignees{/user}","branches_url":"https://api.github.com/repos/xray/xray/branches{/branch}","tags_url":"https://api.github.com/repos/xray/xray/tags","blobs_url":"https://api.github.com/repos/xray/xray/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xray/xray/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xray/xray/git/refs{/sha}","trees_url":"https://api.github.com/repos/xray/xray/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xray/xray/statuses/{sha}","languages_url":"https://api.github.com/repos/xray/xray/languages","stargazers_url":"https://api.github.com/repos/xray/xray/stargazers","contributors_url":"https://api.github.com/repos/xray/xray/contributors","subscribers_url":"https://api.github.com/repos/xray/xray/subscribers","subscription_url":"https://api.github.com/repos/xray/xray/subscription","commits_url":"https://api.github.com/repos/xray/xray/commits{/sha}","git_commits_url":"https://api.github.com/repos/xray/xray/git/commits{/sha}","comments_url":"https://api.github.com/repos/xray/xray/comments{/number}","issue_comment_url":"https://api.github.com/repos/xray/xray/issues/comments{/number}","contents_url":"https://api.github.com/repos/xray/xray/contents/{+path}","compare_url":"https://api.github.com/repos/xray/xray/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xray/xray/merges","archive_url":"https://api.github.com/repos/xray/xray/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xray/xray/downloads","issues_url":"https://api.github.com/repos/xray/xray/issues{/number}","pulls_url":"https://api.github.com/repos/xray/xray/pulls{/number}","milestones_url":"https://api.github.com/repos/xray/xray/milestones{/number}","notifications_url":"https://api.github.com/repos/xray/xray/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xray/xray/labels{/name}","releases_url":"https://api.github.com/repos/xray/xray/releases{/id}","created_at":"2013-09-30T17:21:10Z","updated_at":"2015-04-30T01:42:22Z","pushed_at":"2015-04-30T01:25:56Z","git_url":"git://github.com/xray/xray.git","ssh_url":"git@github.com:xray/xray.git","clone_url":"https://github.com/xray/xray.git","svn_url":"https://github.com/xray/xray","homepage":"http://xray.readthedocs.org","size":7171,"stargazers_count":123,"watchers_count":123,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":32,"mirror_url":null,"open_issues_count":42,"forks":32,"open_issues":42,"watchers":123,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/xray/xray/pulls/405"},"html":{"href":"https://github.com/xray/xray/pull/405"},"issue":{"href":"https://api.github.com/repos/xray/xray/issues/405"},"comments":{"href":"https://api.github.com/repos/xray/xray/issues/405/comments"},"review_comments":{"href":"https://api.github.com/repos/xray/xray/pulls/405/comments"},"review_comment":{"href":"https://api.github.com/repos/xray/xray/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/xray/xray/pulls/405/commits"},"statuses":{"href":"https://api.github.com/repos/xray/xray/statuses/06103f1663473b5e4993d2951d91beb872fa1a01"}}}}