{"action":"closed","issue":{"url":"https://api.github.com/repos/chef-cookbooks/route53/issues/79","repository_url":"https://api.github.com/repos/chef-cookbooks/route53","labels_url":"https://api.github.com/repos/chef-cookbooks/route53/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/chef-cookbooks/route53/issues/79/comments","events_url":"https://api.github.com/repos/chef-cookbooks/route53/issues/79/events","html_url":"https://github.com/chef-cookbooks/route53/issues/79","id":107357287,"number":79,"title":"A bunch of parallel chef-client runs causes Throttling => Rate exceeded","user":{"login":"rberger","id":25268,"avatar_url":"https://avatars.githubusercontent.com/u/25268?v=3","gravatar_id":"","url":"https://api.github.com/users/rberger","html_url":"https://github.com/rberger","followers_url":"https://api.github.com/users/rberger/followers","following_url":"https://api.github.com/users/rberger/following{/other_user}","gists_url":"https://api.github.com/users/rberger/gists{/gist_id}","starred_url":"https://api.github.com/users/rberger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rberger/subscriptions","organizations_url":"https://api.github.com/users/rberger/orgs","repos_url":"https://api.github.com/users/rberger/repos","events_url":"https://api.github.com/users/rberger/events{/privacy}","received_events_url":"https://api.github.com/users/rberger/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2015-09-19T21:36:39Z","updated_at":"2016-09-23T03:04:54Z","closed_at":"2016-09-23T03:04:54Z","body":"If one were to have a bunch of chef-client runs happening in parallel all trying to use the route53 plugin, it causes the Fog request and then the route53 recipe to fail.\r\n\r\nDon't know if there would be a way to handle this with error handling and a backoff / retry?\r\n\r\nHere's an example of the error:\r\n\r\n```\r\nExcon::Errors::BadRequest\r\n-------------------------\r\nExpected(200) <=> Actual(400 Bad Request)\r\nexcon.error.response\r\n  :body          => \"<?xml version=\\\"1.0\\\"?>\\n<ErrorResponse xmlns=\\\"https://route53.amazonaws.com/doc/2013-04-01/\\\"><Error><Type>Sender</Type><Code>Throttling</Code><Message>Rate exceeded</Message></Error><RequestId>9113500b-5f12-11e5-b48e-9bb0009974f3</RequestId></ErrorResponse>\"\r\n  :headers       => {\r\n    \"Cneonction\"       => \"close\"\r\n    \"Content-Length\"   => \"255\"\r\n    \"Content-Type\"     => \"text/xml\"\r\n    \"Date\"             => \"Sat, 18 Sep 2015 20:08:24 GMT\"\r\n    \"x-amzn-RequestId\" => \"9112300b-5f12-11e5-b48e-9bb0009974f3\"\r\n  }\r\n  :local_address => \"172.31.32.255\"\r\n  :local_port    => 58717\r\n  :reason_phrase => \"Bad Request\"\r\n  :remote_ip     => \"72.21.214.22\"\r\n  :status        => 400\r\n\r\nCookbook Trace:\r\n---------------\r\n/var/chef/cache/cookbooks/route53/providers/record.rb:57:in `zone'\r\n/var/chef/cache/cookbooks/route53/providers/record.rb:69:in `record'\r\n/var/chef/cache/cookbooks/route53/providers/record.rb:114:in `block in class_from_file'\r\n\r\nResource Declaration:\r\n---------------------\r\n# In /var/chef/cache/cookbooks/mist_base/recipes/_route53.rb\r\n\r\n 13: route53_record \"create a record\" do\r\n 14:   name       fqdn\r\n 15:   value      node[:ec2][:public_hostname]\r\n 16:   type       \"CNAME\"\r\n 17:   zone_id    cluster[:route53][:zone_id]\r\n 18:   overwrite  true\r\n 19:   action     :create\r\n 20: end\r\n\r\nCompiled Resource:\r\n------------------\r\n# Declared in /var/chef/cache/cookbooks/mist_base/recipes/_route53.rb:13:in `from_file'\r\n\r\nroute53_record(\"dashboard-000-staging.mistsys.net\") do\r\n  action [:create]\r\n  retries 0\r\n  retry_delay 2\r\n  default_guard_interpreter :default\r\n  declared_type :route53_record\r\n  cookbook_name \"mist_base\"\r\n  recipe_name \"_route53\"\r\n  value \"ec2-52-0-56-073.compute-1.amazonaws.com\"\r\n  type \"CNAME\"\r\n  zone_id \"Z3C80NEKX49KXN\"\r\n  overwrite true\r\nend\r\n```"}}
{"actor":{"display_login":"tas50"}}