Переглянути джерело

Merge pull request #695 from lindenlab/produce-timestamp-v0.10

Passing ProducerMessage.Timestamp to broker when producing to v0.10
Evan Huus 9 роки тому
батько
коміт
d234b743b3
1 змінених файлів з 6 додано та 1 видалено
  1. 6 1
      produce_set.go

+ 6 - 1
produce_set.go

@@ -52,7 +52,12 @@ func (ps *produceSet) add(msg *ProducerMessage) error {
 	}
 
 	set.msgs = append(set.msgs, msg)
-	set.setToSend.addMessage(&Message{Codec: CompressionNone, Key: key, Value: val})
+	msgToSend := &Message{Codec: CompressionNone, Key: key, Value: val}
+	if ps.parent.conf.Version.IsAtLeast(V0_10_0_0) && !msg.Timestamp.IsZero() {
+		msgToSend.Timestamp = msg.Timestamp
+		msgToSend.Version = 1
+	}
+	set.setToSend.addMessage(msgToSend)
 
 	size := producerMessageOverhead + len(key) + len(val)
 	set.bufferBytes += size