Change marking message logic
Signed-off-by: Deepanshu Agarwal <deepanshu.agarwal1984@gmail.com>
This commit is contained in:
parent
e483dfe334
commit
31a38e5aaa
|
|
@ -17,7 +17,6 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"sort"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
@ -118,21 +117,18 @@ func (consumer *consumer) doBulkCallback(session sarama.ConsumerGroupSession, me
|
||||||
Entries: messageValues,
|
Entries: messageValues,
|
||||||
}
|
}
|
||||||
responses, err := handler(session.Context(), &event)
|
responses, err := handler(session.Context(), &event)
|
||||||
sort.SliceStable(responses, func(i, j int) bool {
|
|
||||||
return responses[i].EntryID < responses[j].EntryID
|
|
||||||
})
|
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
for i, resp := range responses {
|
for i, resp := range responses {
|
||||||
id, e := strconv.Atoi(resp.EntryID)
|
if resp.EntryID == messageValues[i].EntryID {
|
||||||
if e != nil {
|
|
||||||
id = i
|
|
||||||
}
|
|
||||||
if resp.Error == nil {
|
if resp.Error == nil {
|
||||||
session.MarkMessage(messages[id], "")
|
session.MarkMessage(messages[i], "")
|
||||||
} else {
|
} else {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return errors.New("entry id mismatch while processing bulk messages")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for _, message := range messages {
|
for _, message := range messages {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue