{"action":"created","issue":{"url":"https://api.github.com/repos/Shopify/sarama/issues/336","labels_url":"https://api.github.com/repos/Shopify/sarama/issues/336/labels{/name}","comments_url":"https://api.github.com/repos/Shopify/sarama/issues/336/comments","events_url":"https://api.github.com/repos/Shopify/sarama/issues/336/events","html_url":"https://github.com/Shopify/sarama/pull/336","id":60796740,"number":336,"title":"Configuration tweaks","user":{"login":"wvanbergen","id":15870,"avatar_url":"https://avatars.githubusercontent.com/u/15870?v=3","gravatar_id":"","url":"https://api.github.com/users/wvanbergen","html_url":"https://github.com/wvanbergen","followers_url":"https://api.github.com/users/wvanbergen/followers","following_url":"https://api.github.com/users/wvanbergen/following{/other_user}","gists_url":"https://api.github.com/users/wvanbergen/gists{/gist_id}","starred_url":"https://api.github.com/users/wvanbergen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wvanbergen/subscriptions","organizations_url":"https://api.github.com/users/wvanbergen/orgs","repos_url":"https://api.github.com/users/wvanbergen/repos","events_url":"https://api.github.com/users/wvanbergen/events{/privacy}","received_events_url":"https://api.github.com/users/wvanbergen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-03-12T10:15:52Z","updated_at":"2015-03-12T13:31:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Shopify/sarama/pulls/336","html_url":"https://github.com/Shopify/sarama/pull/336","diff_url":"https://github.com/Shopify/sarama/pull/336.diff","patch_url":"https://github.com/Shopify/sarama/pull/336.patch"},"body":"- Make consumer retry backoff configurable, use 10s by default.\r\n- Allow opting out of reading the Errors channel, by setting Consumer.AckErrors and/or Producer.AckErrors to false.\r\n- Fix some documentation.\r\n\r\n #### Discussion\r\n\r\n- The retry backoff for the JVM producer is 200ms, we use 10,000ms. :+1:/:-1:?\r\n- I am kind of inclined to default `AckErrors` to `false`, at least for the consumer. The Errors channel is not very useful, because the consumer will retry anyway and keep on going. Figuring out in what scenario you should stop the consumer, because not all errors are created equal. Ideally we would have a way to detect whether somebody is consuming the channel, but I haven't figured out a way.\r\n- I'd rather add a `Consumer.Timeout` setting, so you can make the consumer stop if no messages have been received for an `x` amount of time.\r\n\r\n@Shopify/kafka"},"comment":{"url":"https://api.github.com/repos/Shopify/sarama/issues/comments/78479322","html_url":"https://github.com/Shopify/sarama/pull/336#issuecomment-78479322","issue_url":"https://api.github.com/repos/Shopify/sarama/issues/336","id":78479322,"user":{"login":"eapache","id":1706826,"avatar_url":"https://avatars.githubusercontent.com/u/1706826?v=3","gravatar_id":"","url":"https://api.github.com/users/eapache","html_url":"https://github.com/eapache","followers_url":"https://api.github.com/users/eapache/followers","following_url":"https://api.github.com/users/eapache/following{/other_user}","gists_url":"https://api.github.com/users/eapache/gists{/gist_id}","starred_url":"https://api.github.com/users/eapache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eapache/subscriptions","organizations_url":"https://api.github.com/users/eapache/orgs","repos_url":"https://api.github.com/users/eapache/repos","events_url":"https://api.github.com/users/eapache/events{/privacy}","received_events_url":"https://api.github.com/users/eapache/received_events","type":"User","site_admin":false},"created_at":"2015-03-12T13:31:53Z","updated_at":"2015-03-12T13:31:53Z","body":"I think, even in the cases that something more serious is wrong, the consumer should be able to recover once the cluster recovers. I cannot think of a case where e.g. shutting down and restarting the consumer adds any value to just letting it recover on its own."}}