Comments (1)
FROM: Evan Huus
Make dead brokers die harder
When a broker gets an error trying to receive a response (either from the
network layer, or from failing to parse the minimal global header), it should
just abandon ship and die. Save that error and return it immediately for any
further requests we might have made.
- The vast majority of the time the connection is going to be hosed anyways, if
nothing else by being out-of-sync on correlation IDs (which we don't handle
and which doesn't seem particularly urgent).
- All of Sarama's built-in callers (producer/consumer/offset-manager)
immediately `Close` a broker when they receive one of these errors anyways, so
all this does is speed up that in the common case.
*If* one of these errors is recoverable, and *if* there is user-space code
somewhere which actually tries to recover in one of those cases, then that code
would break.
This neatly satisfies one of the XXX comments I left in about this issue from
way back in 2013. The TODOs about correlation ID matching are still present.
from sarama.
Related Issues (20)
- Kafka: client has run out of available brokers HOT 3
- Should share the max retries of metadata? HOT 1
- Topic retention settings causes consumer to skip consuming new messages that arrived after deleted messages HOT 5
- A topic with multiple partitions won't get dedicated consumer members in consumer group for each partition HOT 6
- kafka: Failed to produce message to topic myRsp: write tcp [ip1]:[port1]->[ip2]:[port2]: write: broken pipe HOT 7
- Enabling idempotency still allows producing same message
- No throughput difference between sync and async producers HOT 1
- High CPU usage in `newBrokerProducer.func2` HOT 3
- Incorrect rate5 metrics values
- Error and data race using transaction example from the library HOT 2
- kafka server: The producer attempted to update a transaction while another concurrent operation on the same transaction was ongoing HOT 3
- unsubscribe w/o passing whole list HOT 2
- Sincerely ask, is this redundant? HOT 1
- How can consumer group consume new partition without losing data using OffsetNewest config?
- Setting a too high value for Producer.Retry.Max can lead to excessive memory usage.
- Docs with examples using tls/ssl by cert files creating a producer and consumer HOT 1
- Broken pipe and EOF
- Re-ordering of offset commit requests can cause committed offset to move "backwards". HOT 1
- Configure proxy for the Kerberos client
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sarama.