Beats Input Plugin stops when Go client killed

Hey folks...

We have written a Go client that streams records to logstash the setup is as such:

Go client written in go using https://github.com/elastic/go-lumber sending records to logstash:5044

logstash 2.3.4 with logstash-input-beats (2.2.9) listening on 5044:

input config:
beats {
port => 5044
type => "my_platform"
codec => {charset => "UTF-8" }
}
}

things work great but if the go client is killed (ctrl-c in foreground) or kill -9 or abruptly crashes, the beats-plugin goes away and port 5044 is not listening any longer - interesting there are no messages in the logstash.log about this, no exceptions etc...

...any thoughts on this?

I tried to updated the beats plugin to 3.0.4 but it sits there forever trying to update CPU spins but nothing happens.

not sure what to do next here.

thx, FredPlex

more details... I must have missed it earlier but in the log stash stderr I see this when the issue happens:

NoMethodError: undefined method `flush' for ["charset", "UTF-8"]:Array
flush at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-beats-2.2.9/lib/logstash/inputs/beats_support/connection_handler.rb:81
handle_new_connection at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-beats-2.2.9/lib/logstash/inputs/beats.rb:229
run at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-beats-2.2.9/lib/logstash/inputs/beats.rb:167