Hi everybody,

I just tried to upgrade from the "traditional" KafkaSpout to the new 
storm-kafka-client version. Initially everything was working fine, yet I soon 
discovered that the new Spout stops emitting tuples after some time.
The happy path (just ack, no errors) seems to work fine, yet when tuples are 
failed or delayed, it seems that the (spout-internal) counters are incorrect.

After some debugging sessions, I found the reason here:

private boolean poll() {
  return !waitingToEmit() && numUncommittedOffsets < 
kafkaSpoutConfig.getMaxUncommittedOffsets();
}

This method always returned false since numUncommittedOffsets was much higher 
than kafkaSpoutConfig.getMaxUncommittedOffsets(). Apparently I am not the only 
one facing this problem because similar issues are reported here:
https://github.com/apache/storm/pull/1131#issuecomment-217776015

I could not find any commits related to these issues.

In the latest 1.0.2 release I saw that there are quite a few fixes for the 
"old" KafkaSpout, yet almost none for the "new" one. Will both versions be 
supported in future? Which one is recommended version to use?

Thanks,
Tom




Reply via email to