From c3951eaeeaa8c3de71af0c60a4b6c216bfd296de Mon Sep 17 00:00:00 2001 From: Daniel Schierbeck Date: Fri, 10 Nov 2017 15:36:29 +0100 Subject: [PATCH] Ignore invalid message timestamps --- lib/kafka/protocol/message.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/kafka/protocol/message.rb b/lib/kafka/protocol/message.rb index ed950e38a..9b3f459a5 100644 --- a/lib/kafka/protocol/message.rb +++ b/lib/kafka/protocol/message.rb @@ -89,6 +89,11 @@ def self.decode(decoder) timestamp = nil when 1 timestamp = message_decoder.int64 + + # If the timestamp is set to zero, it's because the message has been upgraded + # from the Kafka 0.9 disk format to the Kafka 0.10 format. The former didn't + # have a timestamp attribute, so we'll just set the timestamp to nil. + timestamp = nil if timestamp.zero? else raise Kafka::Error, "Invalid magic byte: #{magic_byte}" end