{"action":"created","issue":{"url":"https://api.github.com/repos/aws/aws-sdk-ios/issues/769","repository_url":"https://api.github.com/repos/aws/aws-sdk-ios","labels_url":"https://api.github.com/repos/aws/aws-sdk-ios/issues/769/labels{/name}","comments_url":"https://api.github.com/repos/aws/aws-sdk-ios/issues/769/comments","events_url":"https://api.github.com/repos/aws/aws-sdk-ios/issues/769/events","html_url":"https://github.com/aws/aws-sdk-ios/issues/769","id":276950769,"node_id":"MDU6SXNzdWUyNzY5NTA3Njk=","number":769,"title":"Best practice for pausing upload in AWSS3TransferManger on network loss?","user":{"login":"jeffjvick","id":203289,"node_id":"MDQ6VXNlcjIwMzI4OQ==","avatar_url":"https://avatars0.githubusercontent.com/u/203289?v=4","gravatar_id":"","url":"https://api.github.com/users/jeffjvick","html_url":"https://github.com/jeffjvick","followers_url":"https://api.github.com/users/jeffjvick/followers","following_url":"https://api.github.com/users/jeffjvick/following{/other_user}","gists_url":"https://api.github.com/users/jeffjvick/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffjvick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffjvick/subscriptions","organizations_url":"https://api.github.com/users/jeffjvick/orgs","repos_url":"https://api.github.com/users/jeffjvick/repos","events_url":"https://api.github.com/users/jeffjvick/events{/privacy}","received_events_url":"https://api.github.com/users/jeffjvick/received_events","type":"User","site_admin":false},"labels":[{"id":690070387,"node_id":"MDU6TGFiZWw2OTAwNzAzODc=","url":"https://api.github.com/repos/aws/aws-sdk-ios/labels/S3","name":"S3","color":"d4c5f9","default":false},{"id":110936561,"node_id":"MDU6TGFiZWwxMTA5MzY1NjE=","url":"https://api.github.com/repos/aws/aws-sdk-ios/labels/requesting%20feedback","name":"requesting feedback","color":"eb6420","default":false}],"state":"open","locked":false,"assignee":{"login":"cbommas","id":5359504,"node_id":"MDQ6VXNlcjUzNTk1MDQ=","avatar_url":"https://avatars1.githubusercontent.com/u/5359504?v=4","gravatar_id":"","url":"https://api.github.com/users/cbommas","html_url":"https://github.com/cbommas","followers_url":"https://api.github.com/users/cbommas/followers","following_url":"https://api.github.com/users/cbommas/following{/other_user}","gists_url":"https://api.github.com/users/cbommas/gists{/gist_id}","starred_url":"https://api.github.com/users/cbommas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbommas/subscriptions","organizations_url":"https://api.github.com/users/cbommas/orgs","repos_url":"https://api.github.com/users/cbommas/repos","events_url":"https://api.github.com/users/cbommas/events{/privacy}","received_events_url":"https://api.github.com/users/cbommas/received_events","type":"User","site_admin":false},"assignees":[{"login":"cbommas","id":5359504,"node_id":"MDQ6VXNlcjUzNTk1MDQ=","avatar_url":"https://avatars1.githubusercontent.com/u/5359504?v=4","gravatar_id":"","url":"https://api.github.com/users/cbommas","html_url":"https://github.com/cbommas","followers_url":"https://api.github.com/users/cbommas/followers","following_url":"https://api.github.com/users/cbommas/following{/other_user}","gists_url":"https://api.github.com/users/cbommas/gists{/gist_id}","starred_url":"https://api.github.com/users/cbommas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbommas/subscriptions","organizations_url":"https://api.github.com/users/cbommas/orgs","repos_url":"https://api.github.com/users/cbommas/repos","events_url":"https://api.github.com/users/cbommas/events{/privacy}","received_events_url":"https://api.github.com/users/cbommas/received_events","type":"User","site_admin":false}],"milestone":null,"comments":19,"created_at":"2017-11-27T09:28:33Z","updated_at":"2018-07-09T06:43:43Z","closed_at":null,"author_association":"NONE","body":"* What service are you using?\r\nAWSS3TransferManger\r\n* In what version of SDK are you facing the problem?\r\n2.6.6\r\n* Is the issue limited to Simulators / Actual Devices?\r\nI'm testing on an actual device\r\n* Can your problem be resolved if you bump to a higher version of SDK?\r\nThere is none higher.\r\n* Is this problem related to specific iOS version?\r\nDoes not appear to be.\r\n* How are you consuming the SDK? CocoaPods / Carthage / Prebuilt frameworks?\r\nCocoaPods\r\n* Can you give us steps to reproduce with a minimal, complete, and verifiable example? Please include any specific network conditions that might be required to reproduce the problem.\r\n\r\nI start a large upload with TransferManager and part way through I turn on airplane mode to kill the wifi connection.  This gives a \"The Internet connection appears to be offline.\" error as expected since it does not appear that TransferManager handles network drops on its own like TransferUtility does.  \r\n\r\nTo combat this I'm trying to catch the network loss myself and pause the uploads before TransferManager errors.  I'm using the Reachability cocoapod https://github.com/ashleymills/Reachability.swift to detect network loss and it seems like it's a race to see if I can pause before TransferManager errors.  Usually I lose.\r\n\r\nI have not seen any official sdk documentation on how to handle pausing on a network loss so I wanted to see if someone could point to another source.  Or possibly I should be handling this in a different manner?\r\n\r\nAlso, please don't tell me to use TransferUtility because TransferManger is \"old\".  TransferUtility does not support multipart uploads so whenever the network is lost it just restarts from the beginning and my app will be uploading large (100+ mb) files on less than ideal networks and I can't force users to keep restarting.  I don't understand why multi-part wasn't a priority for the new code base but that's the way it is so it appears I'm stuck with the old TransferManager.\r\n\r\nThanks"},"comment":{"url":"https://api.github.com/repos/aws/aws-sdk-ios/issues/comments/403375885","html_url":"https://github.com/aws/aws-sdk-ios/issues/769#issuecomment-403375885","issue_url":"https://api.github.com/repos/aws/aws-sdk-ios/issues/769","id":403375885,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMzM3NTg4NQ==","user":{"login":"jeffjvick","id":203289,"node_id":"MDQ6VXNlcjIwMzI4OQ==","avatar_url":"https://avatars0.githubusercontent.com/u/203289?v=4","gravatar_id":"","url":"https://api.github.com/users/jeffjvick","html_url":"https://github.com/jeffjvick","followers_url":"https://api.github.com/users/jeffjvick/followers","following_url":"https://api.github.com/users/jeffjvick/following{/other_user}","gists_url":"https://api.github.com/users/jeffjvick/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffjvick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffjvick/subscriptions","organizations_url":"https://api.github.com/users/jeffjvick/orgs","repos_url":"https://api.github.com/users/jeffjvick/repos","events_url":"https://api.github.com/users/jeffjvick/events{/privacy}","received_events_url":"https://api.github.com/users/jeffjvick/received_events","type":"User","site_admin":false},"created_at":"2018-07-09T06:43:43Z","updated_at":"2018-07-09T06:43:43Z","author_association":"NONE","body":"@cbommas Thanks for these additions, I appreciate it.  Adding status is great as that was something present in the UploadRequests of TransferManager that was not, up til now, present in TransferUtility.  setProgressBlock should also be helpful as I was previously having to keep a list of expressions so I could later set the progress block in a different view but now I can just keep track of the tasks.\r\n\r\nI will try this out and report back.  Thanks."}}
{"actor":{"display_login":"jeffjvick"}}