laurilehmijoki / s3_website

Manage an S3 website: sync, deliver via CloudFront, benefit from advanced S3 website features.
Other
2.25k stars 187 forks source link

AWS API call failed: TooManyInvalidationsInProgress #26

Closed zerobase closed 11 years ago

zerobase commented 11 years ago

It seems that "invalidations" exceed API limit during calculating diff. It says, "Processing your request will cause you to exceed the maximum number of in-progress invalidations".

This error occurs when I run s3_website push several times in several minutes. Before this error occured, the same operations (s3_website push) succeed. Waiting for tens of minutes, it recovers so that I can run s3_website push and get the expected result.

Is this a bug or my wrong configuration?

$ s3_website push
Deploying _site/* to ishibashihideto.net
Calculating diff ... done
No new or changed files to upload
Done! Go visit: http://ishibashihideto.net.s3-website-ap-northeast-1.amazonaws.com/index.html
/Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/simple-cloudfront-invalidator-1.0.0/lib/simple-cloudfront-invalidator.rb:57:in `sign_and_call': AWS API call failed. Reason: (RuntimeError)
<?xml version="1.0"?>
<ErrorResponse xmlns="http://cloudfront.amazonaws.com/doc/2012-05-05/"><Error><Type>Sender</Type><Code>TooManyInvalidationsInProgress</Code><Message>Processing your request will cause you to exceed the maximum number of in-progress invalidations.</Message></Error><RequestId>********-****-****-****-************</RequestId></ErrorResponse>
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/simple-cloudfront-invalidator-1.0.0/lib/simple-cloudfront-invalidator.rb:30:in `invalidate'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/s3_website-1.3.2/lib/cloudfront/invalidator.rb:14:in `invalidate'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/s3_website-1.3.2/lib/s3_website/tasks.rb:36:in `invalidate_cf_dist_if_configured'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/s3_website-1.3.2/lib/s3_website/tasks.rb:10:in `push'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/s3_website-1.3.2/bin/s3_website:52:in `push'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/gems/s3_website-1.3.2/bin/s3_website:59:in `<top (required)>'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/bin/s3_website:23:in `load'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/bin/s3_website:23:in `<main>'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `eval'
    from /Users/ishibashi/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `<main>'
laurilehmijoki commented 11 years ago

The TooManyInvalidationsInProgress error is a feature of AWS Cloudfront. Read more on it here: http://aws.amazon.com/cloudfront/faqs/#Is_there_a_limit_to_the_number_of_invalidation_requests.

zerobase commented 11 years ago

Thank you!