No Description

Evan Huus 62e4ae8645 Adjust broker locking order slightly 10 years ago
examples af448a6f24 Fix names as a_name to be aName 10 years ago
mocks 03d03b3c61 Minor lint changes 10 years ago
tools 9008214b35 Rename topicConsumer tool to just consumer 10 years ago
vagrant b841795c04 Add kafka 0.9 10 years ago
.gitignore d3bc825c36 Add Vagrantfile, and provisioning scripts that set up a working 5-node cluster. 11 years ago
.travis.yml 49b1dc6b73 Prep docs for Sarama 1.8 supporting kafka 0.9 10 years ago
CHANGELOG.md 4ba9bba6ad Prep for v1.8 10 years ago
CONTRIBUTING.md 6aacbb7d86 Some additions 11 years ago
MIT-LICENSE 86b4691cdd Add license information 12 years ago
Makefile f812fb312f Only run errcheck on go 1.5 10 years ago
README.md 070eed256a List newer versions first 10 years ago
Vagrantfile f3aa1b53de Upgrade vagrant from precise to trusty 10 years ago
async_producer.go 2b18ad7079 Merge pull request #589 from Shopify/retriable-errors 10 years ago
async_producer_test.go 733c74f30d Refactor the producer, part 2 10 years ago
broker.go 62e4ae8645 Adjust broker locking order slightly 10 years ago
broker_test.go bf94d2ef46 Add two other missing broker calls for kafka 0.9 10 years ago
client.go 12d29331cf A few minor suggestions from golint 10 years ago
client_test.go 1874f69e22 Shuffle seed brokers so we don't always connect to the first one provided 10 years ago
config.go 262eef8ff4 Add support for custom offset retention durations to offset manager 10 years ago
config_test.go 616ac5daa4 Unify configuration structures into config.go 10 years ago
consumer.go 6facece8ef Wrap godoc to 80 chars, round 2 10 years ago
consumer_group_members.go 83f973c2d6 More feedback, renamed structs 10 years ago
consumer_group_members_test.go 1ad3d11a6a Fix flaky test 10 years ago
consumer_metadata_request.go aa411f16fd Add decode method to request types 10 years ago
consumer_metadata_request_test.go aa411f16fd Add decode method to request types 10 years ago
consumer_metadata_response.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
consumer_metadata_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
consumer_test.go 99f4fd70a5 Introduce mockSequence and further simplify tests 10 years ago
crc32_field.go 8fa523b125 Use an optimized crc32 library which is faster 10 years ago
describe_groups_request.go 7611ea6ab0 Add DescribeGroup request and response pair. 10 years ago
describe_groups_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
describe_groups_response.go 7611ea6ab0 Add DescribeGroup request and response pair. 10 years ago
describe_groups_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
encoder_decoder.go 66411d8222 Cleanup a bunch more error formats 10 years ago
errors.go 2bac783afa Add new protocol errors with their respective messages. 10 years ago
fetch_request.go aa411f16fd Add decode method to request types 10 years ago
fetch_request_test.go aa411f16fd Add decode method to request types 10 years ago
fetch_response.go 900e4f4595 Centralize and unify getSubset error checking 10 years ago
fetch_response_test.go 87c89f868c Also prefix KError instances with Err. 10 years ago
functional_client_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 years ago
functional_consumer_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 years ago
functional_offset_manager_test.go 1e5cc31d7c Fix offset_manager for Kafka 0.9.0.0 10 years ago
functional_producer_test.go f0fc7e9247 Finalize most of the toxiproxy test framework 10 years ago
functional_test.go 2c40df751c Fix version.satisfies so all tests run against 0.9 10 years ago
heartbeat_request.go b1d40bdba9 Add Heartbeat request and response pair. 10 years ago
heartbeat_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
heartbeat_response.go b1d40bdba9 Add Heartbeat request and response pair. 10 years ago
heartbeat_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
join_group_request.go 83f973c2d6 More feedback, renamed structs 10 years ago
join_group_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
join_group_response.go 83f973c2d6 More feedback, renamed structs 10 years ago
join_group_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
leave_group_request.go ccec1aae54 Add LeaveGroup request and response pair. 10 years ago
leave_group_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
leave_group_response.go ccec1aae54 Add LeaveGroup request and response pair. 10 years ago
leave_group_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
length_field.go 66411d8222 Cleanup a bunch more error formats 10 years ago
list_groups_request.go 037310ad5d Add ListGroups request and response pair. 10 years ago
list_groups_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
list_groups_response.go 037310ad5d Add ListGroups request and response pair. 10 years ago
list_groups_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
message.go 2594b8edd6 Fix and simplify message decoding 10 years ago
message_set.go 2018fd405e Prefix error variables with Err 10 years ago
message_test.go 9675a91962 Added Gzip test. Simplified a little. 12 years ago
metadata_request.go aa411f16fd Add decode method to request types 10 years ago
metadata_request_test.go aa411f16fd Add decode method to request types 10 years ago
metadata_response.go 7f2cdf6cd2 Do not use partition cache for unknown topics. 10 years ago
metadata_response_test.go 87c89f868c Also prefix KError instances with Err. 10 years ago
mockbroker_test.go 99f4fd70a5 Introduce mockSequence and further simplify tests 10 years ago
mockresponses_test.go 99f4fd70a5 Introduce mockSequence and further simplify tests 10 years ago
offset_commit_request.go f13498ffc9 tweak docs 10 years ago
offset_commit_request_test.go aa411f16fd Add decode method to request types 10 years ago
offset_commit_response.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
offset_commit_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
offset_fetch_request.go aa411f16fd Add decode method to request types 10 years ago
offset_fetch_request_test.go aa411f16fd Add decode method to request types 10 years ago
offset_fetch_response.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
offset_fetch_response_test.go 9b6ac1a0fe Add mock responses for OffsetManager testing 10 years ago
offset_manager.go 262eef8ff4 Add support for custom offset retention durations to offset manager 10 years ago
offset_manager_test.go 262eef8ff4 Add support for custom offset retention durations to offset manager 10 years ago
offset_request.go aa411f16fd Add decode method to request types 10 years ago
offset_request_test.go aa411f16fd Add decode method to request types 10 years ago
offset_response.go 39823e3af9 Check some errors 11 years ago
offset_response_test.go 87c89f868c Also prefix KError instances with Err. 10 years ago
packet_decoder.go 1badb8e8c4 Add JoinGroup request and response pair. 10 years ago
packet_encoder.go 1badb8e8c4 Add JoinGroup request and response pair. 10 years ago
partitioner.go 6facece8ef Wrap godoc to 80 chars, round 2 10 years ago
partitioner_test.go faec514115 Add an example for different partitioning per topic. 10 years ago
prep_encoder.go 1badb8e8c4 Add JoinGroup request and response pair. 10 years ago
produce_request.go 900e4f4595 Centralize and unify getSubset error checking 10 years ago
produce_request_test.go aa411f16fd Add decode method to request types 10 years ago
produce_response.go 5509b4a29c wip 12 years ago
produce_response_test.go 87c89f868c Also prefix KError instances with Err. 10 years ago
produce_set.go 52c880384b Extract produceSet and add tests 10 years ago
produce_set_test.go ec382518ee Fix errcheck 10 years ago
real_decoder.go 1badb8e8c4 Add JoinGroup request and response pair. 10 years ago
real_encoder.go 1badb8e8c4 Add JoinGroup request and response pair. 10 years ago
request.go a050648142 Register new request type keys in request.go 10 years ago
request_test.go 9dbdf89484 Better assertion failure messages from request_test. 10 years ago
response_header.go 66411d8222 Cleanup a bunch more error formats 10 years ago
response_header_test.go 893044d278 Fix Golint errors, except for all the missing comments. 12 years ago
sarama.go 2ca3f4f970 Update and simplify doc for MaxResponseSize 10 years ago
snappy.go 0aeb8f0f95 Update snappy repo path and encoding interface 10 years ago
snappy_test.go 03d03b3c61 Minor lint changes 10 years ago
sync_group_request.go 83f973c2d6 More feedback, renamed structs 10 years ago
sync_group_request_test.go 1621c4959a Add tests for all new request types. 10 years ago
sync_group_response.go 83f973c2d6 More feedback, renamed structs 10 years ago
sync_group_response_test.go 756801dfa2 Add tests for all new response types 10 years ago
sync_producer.go 12d29331cf A few minor suggestions from golint 10 years ago
sync_producer_test.go 7f2cdf6cd2 Do not use partition cache for unknown topics. 10 years ago
utils.go 797cb29ada un-export newBufConn 10 years ago

README.md

sarama

GoDoc Build Status

Sarama is an MIT-licensed Go client library for Apache Kafka version 0.8 (and later).

Getting started

  • API documentation and examples are available via godoc.
  • Mocks for testing are available in the mocks subpackage.
  • The examples directory contains more elaborate example applications.
  • The tools directory contains command line tools that can be useful for testing, diagnostics, and instrumentation.

Compatibility and API stability

Sarama provides a "2 releases + 2 months" compatibility guarantee: we support the two latest stable releases of Kafka and Go, and we provide a two month grace period for older releases. This means we currently officially support Go 1.5 and 1.4, and Kafka 0.9.0 and 0.8.2, although older releases are still likely to work.

Sarama follows semantic versioning and provides API stability via the gopkg.in service. You can import a version with a guaranteed stable API via http://gopkg.in/Shopify/sarama.v1. A changelog is available here.

Contributing