diff --git a/lib/logstash/outputs/tcp.rb b/lib/logstash/outputs/tcp.rb index edf7d26..3f02cb5 100644 --- a/lib/logstash/outputs/tcp.rb +++ b/lib/logstash/outputs/tcp.rb @@ -156,7 +156,10 @@ def register client_socket.sysread(16384) if r.any? # Now send the payload - client_socket.syswrite(payload) if w.any? + written = client_socket.syswrite(payload) if w.any? + while payload.length > written do + written += client_socket.syswrite(payload) if w.any? + end rescue => e @logger.warn("tcp output exception", :host => @host, :port => @port, :exception => e, :backtrace => e.backtrace)