Comments (6)
Hi, I forked the repository to work on this feature. I hope we'll have something in a few days :) .
EDIT: In fact, I'll add only partial support (SASL_PLAINTEXT
+ SCRAM-SHA-256
).
from aiokafka.
Would really like to see it implemented in an async fashion :)
Is this planned for a next future ? If not, could you point out where and how it could be implemented, so I might dive in this feature ?
from aiokafka.
@cyrbil I'm sorry, our prioritization changed and I had to stop developing that feature :( .
from aiokafka.
Seems like I got these patches working with the latest master with some caveats :
Consumer:
- In the beginning I do get a bunch of failed authentications after which it succeeds.
- If the connection fails at some point, reconnecting fails (and from short testing, it always fails at some point),
- If a consumer cannot find a topic on the broker, it attempts to create that topic which in turn requires permissions to create topics and if the consumer doesn't have those permissions, the consumer is left in an reconnect loop with no apparent reason as to why it's failing. Not sure why the consumer tries to create the non-existing topic, but that might be because I have automatic creation of topics enabled on the broker(s).
Producer:
- After adding SASL related arguments to the AIOKafkaProducer class, rudimentary testing shows that producing works with no bigger problems. Same as with the consumer, in the beginning there's a failed authentication (broker response being Error 33).
Kafka broker version: 2.0
Python: 3.6.6
from aiokafka.
Plan to work on this in Q1 of 2019. Sorry for the trouble, but #386 is only a part of what needs to be done, as you can see from @fisuk comment. Will need to add proper handling for all Authorization errors on Consumer, Producer, etc. For example GroupAuthorization, TopicAuthorization, etc.
Also, I feel like I don't want this not covered by tests. Kerberos is a troublesome one to set up for testing. Hope I can find some easy container setup to use. Still requires quite some effort to cover all errors and permission combinations.
from aiokafka.
Protocol changes in #464 should be good now. Will need to work on all exception handling in Producer and Consumer.
from aiokafka.
Related Issues (20)
- [QUESTION] I am using AIOkafka, but i have some question. HOT 1
- Inconsistent producer start/stop
- AIOKafkaAdminClient.create_topics fails randomly because it selects a node at random HOT 1
- performance degradation of producer when having many topics HOT 1
- Can I use Azure Event Hubs with `aiokafka`? HOT 1
- 0.9.0 zstd codec depends on cramjam but missing in documentation HOT 1
- Let's put `aiokafka` under the `aio-libs` org on PyPI HOT 2
- Add create_acls function for kafka admin client
- AIOKafkaProducer failed to produce message with headers HOT 3
- I keep getting MessageSizeTooLargeError, error message gives size much bigger than actual message were given to producer. HOT 6
- Add delete_records to the admin client HOT 5
- Can't connect to kafka docker HOT 1
- asyncio.exceptions.CancelledError
- Regarding Kafka Connection
- invalid Type AioKafkaAdminClient create_partitions
- Proposal to Add Type Hints HOT 12
- Consumer stopped consuming, task Fetcher._fetch_task has finished HOT 8
- High Incoming request sum on Azure Event Hub
- [QUESTION] Unable connect to node with id: X: [Errno 111]: Connection refused
- admin client - failure to create topics (error code 41) HOT 3
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 aiokafka.