{"action":"created","issue":{"url":"https://api.github.com/repos/boto/s3transfer/issues/22","repository_url":"https://api.github.com/repos/boto/s3transfer","labels_url":"https://api.github.com/repos/boto/s3transfer/issues/22/labels{/name}","comments_url":"https://api.github.com/repos/boto/s3transfer/issues/22/comments","events_url":"https://api.github.com/repos/boto/s3transfer/issues/22/events","html_url":"https://github.com/boto/s3transfer/pull/22","id":163976239,"number":22,"title":"Fix issue with tests and added more logging","user":{"login":"kyleknap","id":4605355,"avatar_url":"https://avatars.githubusercontent.com/u/4605355?v=3","gravatar_id":"","url":"https://api.github.com/users/kyleknap","html_url":"https://github.com/kyleknap","followers_url":"https://api.github.com/users/kyleknap/followers","following_url":"https://api.github.com/users/kyleknap/following{/other_user}","gists_url":"https://api.github.com/users/kyleknap/gists{/gist_id}","starred_url":"https://api.github.com/users/kyleknap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyleknap/subscriptions","organizations_url":"https://api.github.com/users/kyleknap/orgs","repos_url":"https://api.github.com/users/kyleknap/repos","events_url":"https://api.github.com/users/kyleknap/events{/privacy}","received_events_url":"https://api.github.com/users/kyleknap/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/boto/s3transfer/labels/needs-review","name":"needs-review","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-07-06T00:42:00Z","updated_at":"2016-07-06T16:48:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/boto/s3transfer/pulls/22","html_url":"https://github.com/boto/s3transfer/pull/22","diff_url":"https://github.com/boto/s3transfer/pull/22.diff","patch_url":"https://github.com/boto/s3transfer/pull/22.patch"},"body":"The issue was that the KeyboardInterrupt would be called during the\r\nexecution of the CompleteMultipartUpload and as a result the\r\nAbortMultipartUpload would not delete the object because the multipart\r\nupload already completed. The solution was to make the sleep time shorter to\r\nhelp better ensure the abort happens before the complete multipart upload\r\nand log when KeyboardInterrupts are sent and when coordinators are cancelled.\r\n\r\ncc @jamesls @JordonPhillips "},"comment":{"url":"https://api.github.com/repos/boto/s3transfer/issues/comments/230833797","html_url":"https://github.com/boto/s3transfer/pull/22#issuecomment-230833797","issue_url":"https://api.github.com/repos/boto/s3transfer/issues/22","id":230833797,"user":{"login":"kyleknap","id":4605355,"avatar_url":"https://avatars.githubusercontent.com/u/4605355?v=3","gravatar_id":"","url":"https://api.github.com/users/kyleknap","html_url":"https://github.com/kyleknap","followers_url":"https://api.github.com/users/kyleknap/followers","following_url":"https://api.github.com/users/kyleknap/following{/other_user}","gists_url":"https://api.github.com/users/kyleknap/gists{/gist_id}","starred_url":"https://api.github.com/users/kyleknap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyleknap/subscriptions","organizations_url":"https://api.github.com/users/kyleknap/orgs","repos_url":"https://api.github.com/users/kyleknap/repos","events_url":"https://api.github.com/users/kyleknap/events{/privacy}","received_events_url":"https://api.github.com/users/kyleknap/received_events","type":"User","site_admin":false},"created_at":"2016-07-06T16:48:21Z","updated_at":"2016-07-06T16:48:21Z","body":"Alright I updated the code such that ``set_result`` clobbers any exception. The reason that we do this now is that the ``set_result`` is only ever ran on the final task and if the final task succeeds. If that is the case, the entire transfer succeeded because the final task is only ran if its dependent tasks passed and it is always ran by itself at the end. As a result, a ``cancel()`` should not be reflected in ``future.result()`` if the cancel did not actually cancel the transfer and that final task succeeded."}}
{"actor":{"display_login":"kyleknap"}}