ThoughtWorksStudios / eb_deployer

AWS Elastic Beanstalk blue-green deployment automation from ThoughtWorks Mingle Team
MIT License
400 stars 94 forks source link

eb_deploy and large application bundles #105

Closed PartyImp closed 5 years ago

PartyImp commented 5 years ago

Hello,

eb_deploy seems to struggle with uploading application bundles above 15MB to s3. I have found this easy to reproduce in several different projects:

  1. include a large non-compressable file into the application bundle, e.g. dd if=/dev/urandom of=bigfile bs=1M count=20
  2. attempt an eb_deploy

it will hang on I, [2018-12-13T01:40:14.401060 #3625] INFO -- : [Aws::S3::Client 200 0.053747 0 retries] create_multipart_upload(bucket:"fooexample-22616-dev.packages",key:"4f59a373380f308d40d9bf31b206cf96-fooexample.zip") indefinitely. Strace indicates that ruby is polling a named pipe, but beyond that it doesn't seem to be doing any network io. I have waited up to 15 minutes for this operation to progress past the polling, but it doesn't.

I am not well-versed with ruby but perhaps the dependency defined here is out of date? https://github.com/ThoughtWorksStudios/eb_deployer/blob/f846c9b55b0efe45f38be48ff981b379362663f5/eb_deployer.gemspec#L14 Looks like they're into v2 now, and the gem I have installed is 1.0.0

That would seem to be suspect because this blog from aws emphasizes multipart uploads for files larger than 15MB https://aws.amazon.com/blogs/developer/uploading-files-to-amazon-s3/