-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FLINK-3058] Add support for Kafka 0.9.0.0 #1489
Conversation
Test cases |
There are some instabilities with the new Kafka 0.9 code. I'll look into it soon. |
I read that Kafka 0.9 supports Kerberos authentication (I have not yet tried this). Is that supported in this first release or should I open a Jira ticket for that? |
We have not looked into how Kafka uses Kerberos, yet, so a ticket would be good. |
This PR changes the name of the KafkaConsumer classes. Both of them are now called I think that is dangerous (classes with exact same qualified name). We have seem many cases where people work with unclean dependencies, which would result in a name clash if both dependencies are accidentally included. I would vote for the following:
|
Okay, I'll rename the consumers and producers to include the version. (FlinkKafkaConsumer08 and so on.) |
I'm not sure because I don't know everything about it but why not rename |
Are you sure it is a good idea to give the same name to the producers/consumers for 0.8 and 0.9? Because now we have two |
4579d0d
to
0640284
Compare
Thank you all for the comments. I renamed the Consumers again to include the version, I added deprecated 081 and 092 consumers. If there are no further comments, I'll soon rebase and merge the pull request. |
I would leave a deprecated producer, just to make user's life easier... |
0141fea
to
0288c83
Compare
For adding Kafka 0.9.0.0 support, this commit changes the following: - Split up of the kafka connector into a flink-connector-kafka-(base|0.9|0.8) with different dependencies - The base package contains common test cases, classes and implementations (the producer for 0.9 and 0.8 relies on exactly the same code) - the 0.8 package contains a kafka connector implementation against the SimpleConsumer (low level) API of Kafka 0.8. There are some additional tests for the ZK offset committing - The 0.9 package relies on the new Consumer API of Kafka 0.9.0.0 - Support for metrics for all producers and the 0.9 consumer through Flink's accumulators.
0288c83
to
1c2b0b7
Compare
I addressed all concerns and rebased to master. Once the tests have passed, I'll merge the change. |
For adding Kafka 0.9.0.0 support, this commit changes the following:
I've tested the change on a Kafka 0.9 cluster with 2 brokers. I verified the behavior for broker failures and task manager failures using the state machine demo.