Skip to content
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

Kafka 0.10 support #282

Merged
merged 9 commits into from
Feb 23, 2017
Merged

Kafka 0.10 support #282

merged 9 commits into from
Feb 23, 2017

Conversation

tqh
Copy link
Contributor

@tqh tqh commented Aug 17, 2016

Our changes to work with Kafka 0.10. It's not well tested, but seems to work ok.
Not tested at all is:

  • using Kafka client 0.10 for a Kafka 0.9 cluster
  • LogKafka

This is just to get the ball rolling...

@yahoocla
Copy link

Thank you for submitting this pull request, however I do not see a valid CLA on file for you. Before we can merge this request please visit https://yahoocla.herokuapp.com/ and agree to the terms. Thanks! 😄

@yahoocla
Copy link

CLA is valid!

@qfissler qfissler mentioned this pull request Aug 25, 2016
@vixns vixns mentioned this pull request Aug 28, 2016
@mckn
Copy link

mckn commented Sep 6, 2016

To start, good work with this project! Any plans on when this pull request will be accepted into master?

@magaton
Copy link

magaton commented Sep 15, 2016

Hello, could you please tell when this will be merged. We are going with 0.10.0.1 in prod very soon and we desperately need a good monitoring tool. Thank you.

@chrisfabri
Copy link

dido

@bai
Copy link

bai commented Sep 16, 2016

Hey folks — any chance on getting this merged sometime soon? And thanks @tqh for pushing this, really helpful.

@davemcphee
Copy link

davemcphee commented Sep 16, 2016

Just FYI, I've been running this pull in prod for 2 weeks now with great success. Until it's merged:

git clone https://github.com/yahoo/kafka-manager.git
git fetch origin pull/282/head:0.10.0
git checkout 0.10.0

many thanks to @tqh !

@@ -295,7 +295,7 @@ case class KafkaManagedOffsetCache(clusterContext: ClusterContext
lastUpdateTimeMillis = System.currentTimeMillis()
} catch {
case e: Exception =>
warn("Failed to process a message from offset topic!", e)
warn(s"Failed to process a message from offset topic on cluster ${clusterContext.config.name}!", e)
Copy link

@whithajess whithajess Sep 18, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally wouldn't look for something in a Exception case as it may not exist so maybe the ${clusterContext.config.name} should be removed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It already proved very convenient to me. Why do you want to hide helpful information?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not want to hide it, but if you access a variable that doesn't exist in the Exception case then what will catch that exception?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, but this review isn't helpful.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@whithajess, in general, you have a point that if a variable is undefined in a catch, then there's no point in catching the first exception if we just generate another one anyway. However, in this case ${clusterContext.config.name} is already used on line 242, and everything is wrapped in a try anyway. This change wouldn't be executed if ${clusterContext.config.name} wasn't defined.

Copy link

@whithajess whithajess left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe some of these changes are just to do with the libraries, but it does look like this change would break a lot of backwards compatibilities. Was this tested with anything but 0.10?

@@ -35,7 +35,7 @@ libraryDependencies ++= Seq(
"org.slf4j" % "log4j-over-slf4j" % "1.7.12",
"com.adrianhurt" %% "play-bootstrap3" % "0.4.5-P24",
"org.clapper" %% "grizzled-slf4j" % "1.0.2",
"org.apache.kafka" %% "kafka" % "0.9.0.1" exclude("log4j","log4j") exclude("org.slf4j", "slf4j-log4j12") force(),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Surely this 0.9.0.1 part is still needed for older support.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kafka client is backwards complient with 0.9. Havn't checked for older versions. Tested with a 0.9 cluster.


def send(message: String, partition: String = null): Unit = send(message.getBytes("UTF8"), if (partition == null) null else partition.getBytes("UTF8"))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again this else partition.getBytes("UTF8") removal looks like it would break backwards compatibility

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kafka 0.10 has a different API.

@rosarioleo
Copy link

Lotlir

On Wed, Aug 17, 2016, 1:43 PM Yahoo CLA Bot notifications@github.com
wrote:

Thank you for submitting this pull request, however I do not see a valid
CLA on file for you. Before we can merge this request please visit
https://yahoocla.herokuapp.com/ and agree to the terms. Thanks! 😄


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#282 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK6ocsewlZ9YIFPTQR7B5EsjdoCDKYgmks5qgvPjgaJpZM4JmXIf
.

@rosscdh
Copy link

rosscdh commented Sep 23, 2016

+1 merge

@deepshikhagandhi
Copy link

+1 please merge

@vgrivel
Copy link

vgrivel commented Sep 27, 2016

I'm also waiting for the merge
+1
Thanks

@JordyMoos
Copy link

JordyMoos commented Sep 30, 2016

Is there any progress on this PR?

@salyh
Copy link

salyh commented Oct 5, 2016

I can confirm that this PR works great with Kafka 0.10. We use since two weeks now without any problems.

@salyh
Copy link

salyh commented Oct 5, 2016

+1 please merge

@kevinleeTCA
Copy link

+1 nice work

@magaton
Copy link

magaton commented Oct 13, 2016

please...

@padilo
Copy link
Contributor

padilo commented Oct 18, 2016

I can confirm works with 0.10, but I had trouble on a 0.8.2 cluster using this version... It accepts the configuration but it doesn't see any broker in my cluster.

Anyone tested against other versions?

@junkiebev
Copy link

+1 please

@kildievr
Copy link

+1 please merge

@antkudr
Copy link

antkudr commented Dec 22, 2016

+1

1 similar comment
@mikhailmulyar
Copy link

+1

@lpicanco
Copy link

Can someone merge?

@zhan-yl
Copy link

zhan-yl commented Dec 26, 2016

+1 please merge

@hubian
Copy link

hubian commented Dec 28, 2016

please merge+1

@Renkai
Copy link

Renkai commented Jan 4, 2017

please merge +1

@techwhizbang
Copy link

if I'm reading correctly the reason it hasn't been merged is b/c of the Yahoo CLA agreement not being signed. did the author of this PR already sign it? @tqh?

@tqh
Copy link
Contributor Author

tqh commented Jan 4, 2017

@techwhizbang You are not reading it correctly. I signed ages ago. It's because Yahoo still uses older Kafka from what I understand. The 'all checks have passed' has a check for CLA.

@shemeemsp7
Copy link

shemeemsp7 commented Jan 6, 2017

please merge

@hgfischer
Copy link

+💯

@yanspirit
Copy link

please merge+1

1 similar comment
@arisu1000
Copy link

please merge+1

@sainat
Copy link

sainat commented Jan 19, 2017

+1
please merge

@massimodeluisa
Copy link

+1 please merge

@natewarr
Copy link

Has anyone tried this on 10.1.1?

@patelh
Copy link
Collaborator

patelh commented Jan 23, 2017

Anyone tried this on 0.8.x, 0.9.x to check backwards compatibility?

@padilo
Copy link
Contributor

padilo commented Jan 24, 2017

I checked on Oct 18, 2016, and at least with 0.8.2 it doesn't work. I can have a look with current status but only with 0.8.2 cluster.

In a couple of hours I'll say something

@sainat
Copy link

sainat commented Jan 24, 2017

@natewarr I tested this branch on a single node kafka 0.10.1.1 broker. Set kafka version to 0.10.1.0, no issues so far. I am going to deploy a multi broker 0.10.1.1 cluster pretty soon, will keep you posted on how it goes. It works with 0.9.0.1 (multi broker and single broker cluster).

@padilo
Copy link
Contributor

padilo commented Jan 26, 2017

Sorry for the delay, I had some fires and I didn't have time to check it until now.

@patelh I can confirm It works on a 0.8.2 cluster.

@gumartinm
Copy link

gumartinm commented Jan 27, 2017

@natewarr It also works on 0.10.1.1.

@rmangi
Copy link

rmangi commented Feb 8, 2017

Would love to have this merged in 👍

@ackramer
Copy link

ackramer commented Feb 8, 2017

+1 yes please

@khou
Copy link

khou commented Feb 20, 2017

🙇

@patelh
Copy link
Collaborator

patelh commented Feb 23, 2017

Are we okay to merge this?

@patelh patelh merged commit 555cdae into yahoo:master Feb 23, 2017
@BDeus BDeus mentioned this pull request Apr 7, 2017
patelh referenced this pull request May 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.