Comments (2)
I fixed the Zookeeper healthcheck. That seemed to be quite easy and there seems to be only single solution used by almost everyone.
Kafka doesn't seem to have any obvious solutions. I saw several solutions using bin/kafka-broker-api-versions.sh
. Do you think that is a good option? It seems better to me than just pinging the TCP port.
WDYT?
from strimzi-kafka-operator.
The broker doesn't have to do much to return ApiVersionsResponse
(it's basically just a static method), but it would test things a little more than just doing a TCP handshake. It would report OK when the broker was an a bad state e.g. unable to write records to disk.
Internally the KafkaHealthCheck
uses an ephermal znode in zookeeper, and this is how other brokers know about the health of a broker, but it seems to me this would suffer from the same problem.
A much more thorough test would be where we test producing and consuming to a compacted topic with one partition for each broker, and the partition wasn't replicated (so we knew only a single broker could be handling the produce and fetch requests). This would test something much closer to what producers and consumers actually care about. However using standard tools this would require a metadata request to a bootstrap broker. Perhaps we could write a custom tool to do this.
I would be inclined to implement bin/kafka-broker-api-versions.sh
for the time being and do something better when we know more about situations where it is inadequate.
from strimzi-kafka-operator.
Related Issues (20)
- Test `testKafkaQuotasPluginIntegration` uses wrong Kafka pod name when getting log
- unable to connect kafka broker from nginx controller ingress HOT 2
- [Bug]: Fail to run Mirror Maker 2 connector task when using OAUTH to connect to kafka clusters HOT 11
- [Enhancement]: ability to use node fqdn for preferredNodePortAddressType
- [Bug]: strimzi.resources metric is missing in new unidirectional topic operator HOT 10
- Cruise Control STs are failing with older Kafka versions when KRaft is used
- [Bug]: Kafka image 3.6.1 is failing with cat: /opt/kafka/custom-config/metadata.state: No such file or directory
- [Bug]: kubeconform validation fails for kafka crd
- [Bug]: strimzi kafka custom resource reverting to defaults HOT 8
- Flaky test: ConnectorMockTest.testConnectorResourceMetricsScaledToZero HOT 2
- Strimzi mirrormaker2 consumer offset not getting synced properly. HOT 2
- [Enhancement]: Replace x-kubernetes-preserve-unknown-fields in CRD for Kubernetes Resources object. HOT 10
- [Bug]: Kafka Server startup failure with Keycloak authentication HOT 1
- [Enhancement] Integrate the Quotas 0.3.0 plugin into the Kafka CR HOT 1
- Add unit tests for the Helm Chart HOT 1
- [Bug]: kafka use loadbalancer in kmm2 tls example not work
- [Bug]: Investigate Kind IPv6 problem using HA proxy
- [Bug]: Ensure that Kafka.KafkaStatus.ListenerStatus.type is NOT removed from CRD HOT 2
- [DOC]: Update cluster recovery example
- Use the new configuration classes in `InitWriterConfig` HOT 2
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 strimzi-kafka-operator.