-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Kafka 0.10 support #282
Conversation
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! 😄 |
CLA is valid! |
To start, good work with this project! Any plans on when this pull request will be accepted into master? |
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. |
dido |
Hey folks — any chance on getting this merged sometime soon? And thanks @tqh for pushing this, really helpful. |
Just FYI, I've been running this pull in prod for 2 weeks now with great success. Until it's merged:
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) |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this 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(), |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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")) |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
Lotlir On Wed, Aug 17, 2016, 1:43 PM Yahoo CLA Bot notifications@github.com
|
+1 merge |
+1 please merge |
I'm also waiting for the merge |
Is there any progress on this PR? |
I can confirm that this PR works great with Kafka 0.10. We use since two weeks now without any problems. |
+1 please merge |
+1 nice work |
please... |
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? |
+1 please |
+1 please merge |
+1 |
1 similar comment
+1 |
Can someone merge? |
+1 please merge |
please merge+1 |
please merge +1 |
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? |
@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. |
please merge |
+💯 |
please merge+1 |
1 similar comment
please merge+1 |
+1 |
+1 please merge |
Has anyone tried this on 10.1.1? |
Anyone tried this on 0.8.x, 0.9.x to check backwards compatibility? |
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 |
@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). |
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. |
@natewarr It also works on 0.10.1.1. |
Would love to have this merged in 👍 |
+1 yes please |
🙇 |
Are we okay to merge this? |
Our changes to work with Kafka 0.10. It's not well tested, but seems to work ok.
Not tested at all is:
This is just to get the ball rolling...