A while ago I wrote a Python lumberjack client for logstash-1.4.2 which uses ruby-lumberjack version 0.0.22. I recently upgraded to logstash-2.3.2 and this pulled in version 0.0.26 which seems to no longer send more than one ACK.
I've debugged it and have found that there is a bug in the AckingProtocolV1 logic which means it will only ever send one ACK. AckingProtocolV1 sets the sequence number for the next ACK as @next_ack in method ack? but this is only set on the first time when @next_ack is nil, and not updated when the server has sent an ACK. The only time it would be updated would be if the client sent another window_size frame (which mine doesn't).
A while ago I wrote a Python lumberjack client for logstash-1.4.2 which uses ruby-lumberjack version 0.0.22. I recently upgraded to logstash-2.3.2 and this pulled in version 0.0.26 which seems to no longer send more than one ACK.
I've debugged it and have found that there is a bug in the AckingProtocolV1 logic which means it will only ever send one ACK. AckingProtocolV1 sets the sequence number for the next ACK as @next_ack in method ack? but this is only set on the first time when @next_ack is nil, and not updated when the server has sent an ACK. The only time it would be updated would be if the client sent another window_size frame (which mine doesn't).