reiseburo / hermann

A gem providing cross-platform Kafka producer and consumer support
MIT License
71 stars 76 forks source link

depend on concurrent-ruby ~> 1.0.0 #133

Closed jfeltesse-mdsol closed 8 years ago

jfeltesse-mdsol commented 8 years ago

opening a PR to see what does Travis think about this change.

see issue #131

rtyler commented 8 years ago

The MRI-based producer doesn't use Concurrent Ruby, so the JRuby tests really exercise this.

It would appear that is an API change that hasn't been accounted for on Concurrent::Promise:

  2) Hermann::Producer#push when reaping children with no reapable children should not reap the children
     Failure/Error: subject { producer.push('f', :topic => passed_topic) }
     NoMethodError:
       undefined method `completed?' for #<Concurrent::Promise:0x4f1e9e2d>
     # ./lib/hermann/producer.rb:121:in `reap_children'
     # ./lib/hermann/producer.rb:121:in `reap_children'
     # ./lib/hermann/producer.rb:72:in `push'
     # ./spec/producer_spec.rb:79:in `subject'
     # ./spec/producer_spec.rb:93:in `(root)'
     # ./spec/producer_spec.rb:93:in `(root)'
jfeltesse-mdsol commented 8 years ago

@rtyler kind of hacky, not beautiful and possibly not very efficient but by modifying a couple of those completed? calls I managed to get the specs pass. the best would be to implement that in the respective providers I guess but this goes way beyond my knowledge of this gem.

rtyler commented 8 years ago

@jfeltesse-mdsol I'll clean this up later, I think this is sufficient for now to cut a new release to unblock you

jfeltesse-mdsol commented 8 years ago

@rtyler Sorry to bother you but do you think you can make a release soon-ish? The latest release on rubygems.org is 0.26.1.0 (Sep 22, 2015). If you want to hold off before cutting a new release I can use the ref of that PR so not in a dire hurry but obviously having a proper version to reference would be the best.

rtyler commented 8 years ago

0.27.0.0 released!

jfeltesse-mdsol commented 8 years ago

awesome! thanks!