@@ -595,27 +595,21 @@ func (c *tracesConsumerGroupHandler) ConsumeClaim(session sarama.ConsumerGroupSe
595
595
if err != nil {
596
596
if errorRequiresBackoff (err ) && c .backOff != nil {
597
597
backOffDelay := c .backOff .NextBackOff ()
598
- if backOffDelay == backoff .Stop {
599
- if c .messageMarking .After && c .messageMarking .OnError {
600
- session .MarkMessage (message , "" )
598
+ if backOffDelay != backoff .Stop {
599
+ select {
600
+ case <- session .Context ().Done ():
601
+ return nil
602
+ case <- time .After (backOffDelay ):
601
603
}
602
- return err
603
604
}
604
- select {
605
- case <- session .Context ().Done ():
606
- return nil
607
- case <- time .After (backOffDelay ):
608
- if ! c .messageMarking .After {
609
- // Unmark the message so it can be retried
610
- session .ResetOffset (claim .Topic (), claim .Partition (), message .Offset , "" )
611
- }
612
- }
613
- } else {
614
- if c .messageMarking .After && c .messageMarking .OnError {
615
- session .MarkMessage (message , "" )
616
- }
617
- return err
618
605
}
606
+ if c .messageMarking .After && c .messageMarking .OnError {
607
+ session .MarkMessage (message , "" )
608
+ }
609
+ return err
610
+ }
611
+ if c .backOff != nil {
612
+ c .backOff .Reset ()
619
613
}
620
614
if c .messageMarking .After {
621
615
session .MarkMessage (message , "" )
@@ -698,27 +692,21 @@ func (c *metricsConsumerGroupHandler) ConsumeClaim(session sarama.ConsumerGroupS
698
692
if err != nil {
699
693
if errorRequiresBackoff (err ) && c .backOff != nil {
700
694
backOffDelay := c .backOff .NextBackOff ()
701
- if backOffDelay == backoff .Stop {
702
- if c .messageMarking .After && c .messageMarking .OnError {
703
- session .MarkMessage (message , "" )
704
- }
705
- return err
706
- }
707
- select {
708
- case <- session .Context ().Done ():
709
- return nil
710
- case <- time .After (backOffDelay ):
711
- if ! c .messageMarking .After {
712
- // Unmark the message so it can be retried
713
- session .ResetOffset (claim .Topic (), claim .Partition (), message .Offset , "" )
695
+ if backOffDelay != backoff .Stop {
696
+ select {
697
+ case <- session .Context ().Done ():
698
+ return nil
699
+ case <- time .After (backOffDelay ):
714
700
}
715
701
}
716
- } else {
717
- if c .messageMarking .After && c .messageMarking .OnError {
718
- session .MarkMessage (message , "" )
719
- }
720
- return err
721
702
}
703
+ if c .messageMarking .After && c .messageMarking .OnError {
704
+ session .MarkMessage (message , "" )
705
+ }
706
+ return err
707
+ }
708
+ if c .backOff != nil {
709
+ c .backOff .Reset ()
722
710
}
723
711
if c .messageMarking .After {
724
712
session .MarkMessage (message , "" )
@@ -754,9 +742,6 @@ func (c *logsConsumerGroupHandler) ConsumeClaim(session sarama.ConsumerGroupSess
754
742
if ! c .autocommitEnabled {
755
743
defer session .Commit ()
756
744
}
757
- if c .backOff != nil {
758
- c .backOff .Reset ()
759
- }
760
745
for {
761
746
select {
762
747
case message , ok := <- claim .Messages ():
@@ -796,27 +781,21 @@ func (c *logsConsumerGroupHandler) ConsumeClaim(session sarama.ConsumerGroupSess
796
781
if err != nil {
797
782
if errorRequiresBackoff (err ) && c .backOff != nil {
798
783
backOffDelay := c .backOff .NextBackOff ()
799
- if backOffDelay == backoff .Stop {
800
- if c .messageMarking .After && c .messageMarking .OnError {
801
- session .MarkMessage (message , "" )
802
- }
803
- return err
804
- }
805
- select {
806
- case <- session .Context ().Done ():
807
- return nil
808
- case <- time .After (backOffDelay ):
809
- if ! c .messageMarking .After {
810
- // Unmark the message so it can be retried
811
- session .ResetOffset (claim .Topic (), claim .Partition (), message .Offset , "" )
784
+ if backOffDelay != backoff .Stop {
785
+ select {
786
+ case <- session .Context ().Done ():
787
+ return nil
788
+ case <- time .After (backOffDelay ):
812
789
}
813
790
}
814
- } else {
815
- if c .messageMarking .After && c .messageMarking .OnError {
816
- session .MarkMessage (message , "" )
817
- }
818
- return err
819
791
}
792
+ if c .messageMarking .After && c .messageMarking .OnError {
793
+ session .MarkMessage (message , "" )
794
+ }
795
+ return err
796
+ }
797
+ if c .backOff != nil {
798
+ c .backOff .Reset ()
820
799
}
821
800
if c .messageMarking .After {
822
801
session .MarkMessage (message , "" )
0 commit comments