{"action":"created","issue":{"url":"https://api.github.com/repos/counsyl/stor/issues/7","repository_url":"https://api.github.com/repos/counsyl/stor","labels_url":"https://api.github.com/repos/counsyl/stor/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/counsyl/stor/issues/7/comments","events_url":"https://api.github.com/repos/counsyl/stor/issues/7/events","html_url":"https://github.com/counsyl/stor/pull/7","id":182689601,"number":7,"title":"Skip broken symlinks on walk files and dirs","user":{"login":"jtratner","id":1598379,"avatar_url":"https://avatars.githubusercontent.com/u/1598379?v=3","gravatar_id":"","url":"https://api.github.com/users/jtratner","html_url":"https://github.com/jtratner","followers_url":"https://api.github.com/users/jtratner/followers","following_url":"https://api.github.com/users/jtratner/following{/other_user}","gists_url":"https://api.github.com/users/jtratner/gists{/gist_id}","starred_url":"https://api.github.com/users/jtratner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtratner/subscriptions","organizations_url":"https://api.github.com/users/jtratner/orgs","repos_url":"https://api.github.com/users/jtratner/repos","events_url":"https://api.github.com/users/jtratner/events{/privacy}","received_events_url":"https://api.github.com/users/jtratner/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-13T03:54:54Z","updated_at":"2016-10-13T03:56:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/counsyl/stor/pulls/7","html_url":"https://github.com/counsyl/stor/pull/7","diff_url":"https://github.com/counsyl/stor/pull/7.diff","patch_url":"https://github.com/counsyl/stor/pull/7.patch"},"body":"Previously, a broken symlink would be generated by walkfiles, but calling getsize() on it would cause an OSError, borking uploads.  (swift CLI also prints error to console on this, but will still do bulk upload).\r\n\r\nThis PR handles broken symlink edge case correctly by skipping it in output from walk_files_and_dirs, and returning directories that are empty except for broken symlinks (still rare).\r\n\r\n@wesleykendall to review (fixes issue we've been having in production where we were deleting a file during clean up that had a symlink pointing to it, causing upload to fail)."},"comment":{"url":"https://api.github.com/repos/counsyl/stor/issues/comments/253407775","html_url":"https://github.com/counsyl/stor/pull/7#issuecomment-253407775","issue_url":"https://api.github.com/repos/counsyl/stor/issues/7","id":253407775,"user":{"login":"jtratner","id":1598379,"avatar_url":"https://avatars.githubusercontent.com/u/1598379?v=3","gravatar_id":"","url":"https://api.github.com/users/jtratner","html_url":"https://github.com/jtratner","followers_url":"https://api.github.com/users/jtratner/followers","following_url":"https://api.github.com/users/jtratner/following{/other_user}","gists_url":"https://api.github.com/users/jtratner/gists{/gist_id}","starred_url":"https://api.github.com/users/jtratner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtratner/subscriptions","organizations_url":"https://api.github.com/users/jtratner/orgs","repos_url":"https://api.github.com/users/jtratner/repos","events_url":"https://api.github.com/users/jtratner/events{/privacy}","received_events_url":"https://api.github.com/users/jtratner/received_events","type":"User","site_admin":false},"created_at":"2016-10-13T03:56:24Z","updated_at":"2016-10-13T03:56:24Z","body":"I also tested this out manually against a broken symlink I created and it worked correctly to upload (just skipping broken symlink altogether)"}}
{"actor":{"display_login":"jtratner"}}