@@ -15,6 +15,7 @@ const (
15
15
RetryHeaderKey = "x-retry-count"
16
16
RetryAttemptHeaderKey = "x-retry-attempt-count"
17
17
MessageProduceTimeHeaderKey = "x-produce-time"
18
+ MessageErrHeaderKey = "x-error-message"
18
19
)
19
20
20
21
type MessageWrapper struct {
@@ -24,22 +25,29 @@ type MessageWrapper struct {
24
25
RetryAttemptCount int
25
26
}
26
27
27
- func NewMessageWrapper (msg segmentio.Message ) * MessageWrapper {
28
- return & MessageWrapper {
29
- RetryCount : getRetryCount (& msg ),
30
- RetryAttemptCount : getRetryAttemptCount (& msg ),
31
- ProduceTime : getMessageProduceTime (& msg ),
32
- Message : kafka.Message {
33
- Topic : msg .Topic ,
34
- Partition : msg .Partition ,
35
- Offset : msg .Offset ,
36
- HighWaterMark : msg .HighWaterMark ,
37
- Key : msg .Key ,
38
- Value : msg .Value ,
39
- Headers : FromHeaders (msg .Headers ),
40
- Time : msg .Time ,
41
- },
28
+ func NewMessageWrapper (msg segmentio.Message , strategyName string ) * MessageWrapper {
29
+ mw := & MessageWrapper {
30
+ RetryCount : getRetryCount (& msg ),
31
+ ProduceTime : getMessageProduceTime (& msg ),
42
32
}
33
+
34
+ // Don't add x-retry-attempt-count for fixed strategy.
35
+ if strategyName != kafka .FixedBackOffStrategy {
36
+ mw .RetryAttemptCount = getRetryAttemptCount (& msg )
37
+ }
38
+
39
+ mw .Message = kafka.Message {
40
+ Topic : msg .Topic ,
41
+ Partition : msg .Partition ,
42
+ Offset : msg .Offset ,
43
+ HighWaterMark : msg .HighWaterMark ,
44
+ Key : msg .Key ,
45
+ Value : msg .Value ,
46
+ Headers : FromHeaders (msg .Headers ),
47
+ Time : msg .Time ,
48
+ }
49
+
50
+ return mw
43
51
}
44
52
45
53
func (m * MessageWrapper ) To (increaseRetry bool , increaseRetryAttempt bool ) segmentio.Message {
0 commit comments