From 528741686bd7c1770c2f5c1f3f91826a11d8485d Mon Sep 17 00:00:00 2001 From: Evan Huus Date: Mon, 7 Mar 2016 09:52:46 -0500 Subject: [PATCH] Put "no consumergroups" in the docs more times We get a lot of questions on this still. --- config.go | 7 +++++++ consumer.go | 7 ++++--- sarama.go | 9 +++++++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/config.go b/config.go index 308c2bcaf..168662756 100644 --- a/config.go +++ b/config.go @@ -121,6 +121,13 @@ type Config struct { // Consumer is the namespace for configuration related to consuming messages, // used by the Consumer. + // + // Note that Sarama's Consumer type does not currently support automatic + // consumer-group rebalancing and offset tracking. For Zookeeper-based + // tracking (Kafka 0.8.2 and earlier), the https://github.com/wvanbergen/kafka + // library builds on Sarama to add this support. For Kafka-based tracking + // (Kafka 0.9 and later), the https://github.com/bsm/sarama-cluster library + // builds on Sarama to add this support. Consumer struct { Retry struct { // How long to wait after a failing to read from a partition before diff --git a/consumer.go b/consumer.go index 877fb041f..f8abc8f22 100644 --- a/consumer.go +++ b/consumer.go @@ -41,9 +41,10 @@ func (ce ConsumerErrors) Error() string { // on a consumer to avoid leaks, it will not be garbage-collected automatically when it passes out of // scope. // -// Sarama's Consumer type does not currently support automatic consumer group rebalancing and offset tracking, -// however the https://github.com/wvanbergen/kafka library builds on Sarama to add this support. We plan -// to properly integrate this functionality at a later date. +// Sarama's Consumer type does not currently support automatic consumer-group rebalancing and offset tracking. +// For Zookeeper-based tracking (Kafka 0.8.2 and earlier), the https://github.com/wvanbergen/kafka library +// builds on Sarama to add this support. For Kafka-based tracking (Kafka 0.9 and later), the +// https://github.com/bsm/sarama-cluster library builds on Sarama to add this support. type Consumer interface { // Topics returns the set of available topics as retrieved from the cluster diff --git a/sarama.go b/sarama.go index d59821750..ba96f0ceb 100644 --- a/sarama.go +++ b/sarama.go @@ -1,9 +1,14 @@ /* -Package sarama provides client libraries for the Kafka 0.8 protocol. The AsyncProducer object is the high-level -API for producing messages asynchronously; the SyncProducer provides a blocking API for the same purpose. +Package sarama provides client libraries for the Kafka protocol (versions 0.8 and later). The AsyncProducer object +is the high-level API for producing messages asynchronously; the SyncProducer provides a blocking API for the same purpose. The Consumer object is the high-level API for consuming messages. The Client object provides metadata management functionality that is shared between the higher-level objects. +Note that Sarama's Consumer type does not currently support automatic consumer-group rebalancing and offset tracking. +For Zookeeper-based tracking (Kafka 0.8.2 and earlier), the https://github.com/wvanbergen/kafka library +builds on Sarama to add this support. For Kafka-based tracking (Kafka 0.9 and later), the +https://github.com/bsm/sarama-cluster library builds on Sarama to add this support. + For lower-level needs, the Broker and Request/Response objects permit precise control over each connection and message sent on the wire.