[ 
https://issues.apache.org/jira/browse/KAFKA-6572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16377300#comment-16377300
 ] 

Matthias J. Sax commented on KAFKA-6572:
----------------------------------------

Can you verify what the committed offset and what the endOffset was for each 
partition? If the tool commits an offset smaller than endOffset, on restart 
{{auto.offset.reset}} would trigger. Could this have happened?

If that's the case, we need to make sure that the tool commits no offset 
smaller than endOffset. (Just bouncing off idea. No sure if this could be the 
root cause or not.)

> kafka-consumer-groups does not reset offsets to specified datetime correctly
> ----------------------------------------------------------------------------
>
>                 Key: KAFKA-6572
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6572
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 1.0.0
>            Reporter: Sharon Lucas
>            Priority: Major
>
> With Kafka 1.0.0 we are seeing a problem using the kafka-consumer-groups.sh 
> --reset-offsets option to reset offsets to a specific date/time in our 
> production environment.
> We first tried to use the kafka-consumer-groups.sh command with the 
> --reset-offsets option and with option --to-datetime 2018-02-10T00:00:00.000 
> in our staging environment and it worked correctly.  Running the following 
> command changed it to start processing logs from February 12, 2018 (4 days 
> ago) for a topic that had a large lag.  We did a dry run to verify before 
> running with the --execute option.
> {code:java}
> root@mlpstagemon0101a:/# /opt/kafka/bin/kafka-consumer-groups.sh 
> --bootstrap-server NN.NNN.NN.NN:9092 --group logstash-elasticsearch-latest 
> --to-datetime 2018-02-12T00:00:00.000-06:00 --reset-offsets --topic 
> staging-mon01-rg-elasticsearch --execute{code}
> We stopped the kafka mirrors that process this topic before resetting the 
> offsets and started the kafka mirrors after rsetting the offsets.  We 
> verified that it correctly started processing logs from February 12, 2018.
> Then we tried resetting offsets in a production environment for a topic that 
> had a very large lag using option --to-datetime 2018-02-10T00:00:00.000 and 
> it did not work as expected. We stopped the kafka mirrors that process this 
> topic before resetting the offsets and did a dry run to see what the new 
> offsets would be:
> {code:java}
> root@mlplon0401e:# /opt/kafka/bin/kafka-consumer-groups.sh --bootstrap-server 
> NN.N.NNN.NNN:9092 --group mirror-consumer-ams03-geo-earliest --to-datetime 
> 2018-02-10T00:00:00.000 --reset-offsets --topic prod_in-ams03-geo-ca_access
> Note: This will not show information about old Zookeeper-based consumers.
> ^@^@^@^@
> TOPIC                          PARTITION  NEW-OFFSET
> prod_in-ams03-geo-ca_access    52         52084147
> prod_in-ams03-geo-ca_access    106        52154199
> prod_in-ams03-geo-ca_access    75         52148673
> prod_in-ams03-geo-ca_access    61         52130753
> prod_in-ams03-geo-ca_access    49         52151667
> prod_in-ams03-geo-ca_access    48         52145233
> prod_in-ams03-geo-ca_access    27         52092805
> prod_in-ams03-geo-ca_access    26         52139644
> prod_in-ams03-geo-ca_access    65         52157504
> prod_in-ams03-geo-ca_access    105        52166289
> prod_in-ams03-geo-ca_access    38         52160464
> prod_in-ams03-geo-ca_access    22         52093451
> prod_in-ams03-geo-ca_access    4          52151660
> prod_in-ams03-geo-ca_access    90         52160296
> prod_in-ams03-geo-ca_access    25         52161691
> prod_in-ams03-geo-ca_access    13         52145828
> prod_in-ams03-geo-ca_access    56         52162867
> prod_in-ams03-geo-ca_access    42         52072094
> prod_in-ams03-geo-ca_access    7          52069496
> prod_in-ams03-geo-ca_access    117        52087078
> prod_in-ams03-geo-ca_access    32         52073732
> prod_in-ams03-geo-ca_access    102        52082022
> prod_in-ams03-geo-ca_access    76         52141018
> prod_in-ams03-geo-ca_access    83         52154542
> prod_in-ams03-geo-ca_access    72         52095051
> prod_in-ams03-geo-ca_access    85         52149907
> prod_in-ams03-geo-ca_access    119        52134435
> prod_in-ams03-geo-ca_access    113        52159340
> prod_in-ams03-geo-ca_access    55         52146597
> prod_in-ams03-geo-ca_access    18         52149079
> prod_in-ams03-geo-ca_access    35         52149058
> prod_in-ams03-geo-ca_access    99         52143277
> prod_in-ams03-geo-ca_access    41         52158872
> prod_in-ams03-geo-ca_access    112        52083901
> prod_in-ams03-geo-ca_access    34         52137932
> prod_in-ams03-geo-ca_access    89         52158135
> prod_in-ams03-geo-ca_access    40         52144442
> prod_in-ams03-geo-ca_access    53         52138400
> prod_in-ams03-geo-ca_access    19         52144966
> prod_in-ams03-geo-ca_access    44         52166404
> prod_in-ams03-geo-ca_access    31         52155685
> prod_in-ams03-geo-ca_access    10         52152151
> prod_in-ams03-geo-ca_access    98         52145378
> prod_in-ams03-geo-ca_access    69         52153436
> prod_in-ams03-geo-ca_access    92         52093455
> prod_in-ams03-geo-ca_access    5          52156448
> prod_in-ams03-geo-ca_access    17         52063697
> prod_in-ams03-geo-ca_access    24         52146410
> prod_in-ams03-geo-ca_access    28         52156955
> prod_in-ams03-geo-ca_access    82         52081194
> prod_in-ams03-geo-ca_access    101        52153592
> prod_in-ams03-geo-ca_access    58         52153765
> prod_in-ams03-geo-ca_access    94         52162827
> prod_in-ams03-geo-ca_access    116        52155307
> prod_in-ams03-geo-ca_access    77         52072906
> prod_in-ams03-geo-ca_access    68         52150283
> prod_in-ams03-geo-ca_access    64         52155580
> prod_in-ams03-geo-ca_access    109        52159915
> prod_in-ams03-geo-ca_access    111        52153547
> prod_in-ams03-geo-ca_access    2          52080434
> prod_in-ams03-geo-ca_access    74         52148060
> prod_in-ams03-geo-ca_access    47         52090187
> prod_in-ams03-geo-ca_access    59         52145161
> prod_in-ams03-geo-ca_access    1          52151228
> prod_in-ams03-geo-ca_access    104        52159932
> prod_in-ams03-geo-ca_access    14         52158366
> prod_in-ams03-geo-ca_access    86         52153030
> prod_in-ams03-geo-ca_access    81         52155507
> prod_in-ams03-geo-ca_access    11         52158931
> prod_in-ams03-geo-ca_access    100        52154646
> prod_in-ams03-geo-ca_access    23         52169713
> prod_in-ams03-geo-ca_access    45         52151320
> prod_in-ams03-geo-ca_access    6          52157025
> prod_in-ams03-geo-ca_access    87         52088913
> prod_in-ams03-geo-ca_access    107        52086878
> prod_in-ams03-geo-ca_access    16         52146481
> prod_in-ams03-geo-ca_access    20         52148093
> prod_in-ams03-geo-ca_access    103        52152437
> prod_in-ams03-geo-ca_access    9          52158998
> prod_in-ams03-geo-ca_access    29         52151112
> prod_in-ams03-geo-ca_access    54         52149226
> prod_in-ams03-geo-ca_access    36         52139520
> prod_in-ams03-geo-ca_access    0          52152902
> prod_in-ams03-geo-ca_access    84         52156057
> prod_in-ams03-geo-ca_access    78         52155766
> prod_in-ams03-geo-ca_access    118        52147043
> prod_in-ams03-geo-ca_access    62         52087864
> prod_in-ams03-geo-ca_access    108        52154615
> prod_in-ams03-geo-ca_access    88         52147651
> prod_in-ams03-geo-ca_access    39         52145255
> prod_in-ams03-geo-ca_access    115        52166466
> prod_in-ams03-geo-ca_access    51         52150136
> prod_in-ams03-geo-ca_access    3          52147544
> prod_in-ams03-geo-ca_access    73         52157150
> prod_in-ams03-geo-ca_access    66         52158808
> prod_in-ams03-geo-ca_access    67         52075616
> prod_in-ams03-geo-ca_access    97         52086900
> prod_in-ams03-geo-ca_access    15         52153225
> prod_in-ams03-geo-ca_access    57         52097899
> prod_in-ams03-geo-ca_access    8          52159097
> prod_in-ams03-geo-ca_access    114        52149412
> prod_in-ams03-geo-ca_access    37         52088584
> prod_in-ams03-geo-ca_access    30         52153155
> prod_in-ams03-geo-ca_access    79         52143773
> prod_in-ams03-geo-ca_access    12         52089423
> prod_in-ams03-geo-ca_access    21         52148187
> prod_in-ams03-geo-ca_access    50         52150414
> prod_in-ams03-geo-ca_access    60         52144624
> prod_in-ams03-geo-ca_access    33         52149807
> prod_in-ams03-geo-ca_access    46         52165008
> prod_in-ams03-geo-ca_access    110        52153643
> prod_in-ams03-geo-ca_access    95         52154736
> prod_in-ams03-geo-ca_access    71         52150981
> prod_in-ams03-geo-ca_access    96         52145091
> prod_in-ams03-geo-ca_access    93         52149375
> prod_in-ams03-geo-ca_access    91         52160207
> prod_in-ams03-geo-ca_access    43         52151689
> prod_in-ams03-geo-ca_access    63         52164909
> prod_in-ams03-geo-ca_access    80         52151810
> prod_in-ams03-geo-ca_access    70         52154522{code}
> Then we ran the same command with the --execute option to the command to 
> reset the offsets:
> {code:java}
> root@mlplon0401e:# /opt/kafka/bin/kafka-consumer-groups.sh --bootstrap-server 
> NN.N.NNN.NNN:9092 --group mirror-consumer-ams03-geo-earliest --to-datetime 
> 2018-02-10T00:00:00.000 --reset-offsets --topic prod_in-ams03-geo-ca_access 
> --execute{code}
> And started the kafka mirrors for this topic.
> However, it didn't work as expected for this topic in our production 
> environment.
>  The total log lag before resetting the offsets was 1,691,782,349:
> {code:java}
> root@mlbams0301a:/var/log/kafka# while true; do echo -n `date +'%Y-%m-%d 
> %H:%M:%S'`; echo -n " "; /opt/kafka/bin/kafka-consumer-groups.sh 
> --bootstrap-server NN.N.NNN.NNN:9092 --describe --group 
> mirror-consumer-ams03-geo-earliest 2>/dev/null | awk '{if ($1 ~ 
> "prod_in-ams03-geo-ca_access") { current_offset+=$3; end_offset+=$4; }} 
> END{print "lag:", end_offset-current_offset;}'; sleep 15; done
> 2018-02-14 17:31:01 lag: 1691782349{code}
> After resetting the offsets, the log lag dropped to 24,330:
> {code:java}
> 2018-02-14 17:31:17 lag: 24330{code}
> This was too much of a drop in the log lag.  This shows it did not really 
> reset the offsets to start processing logs starting at Feb 10th (4 days ago). 
>  We should be seeing a lag of around 37,170,000 if it worked correctly.  
> Instead, it seemed to reset the offsets to start processing logs starting 
> today (Feb 14th).
> We also tried resetting the offsets to start processing logs starting at 
> February 8th (after stopping the mirrors) and it also did not work correctly. 
>  Again, it seemed like it did a seek to the current date rather than 
> resetting offsets to the date we specified.
> {code:java}
> root@mlplon0401e:# /opt/kafka/bin/kafka-consumer-groups.sh --bootstrap-server 
> NN.N.NNN.NNN:9092 --group mirror-consumer-ams03-geo-earliest --to-datetime 
> 2018-02-08T00:00:00.000 --reset-offsets --topic prod_in-ams03-geo-ca_access
> Note: This will not show information about old Zookeeper-based consumers.
> ^@^@^@
> TOPIC                          PARTITION  NEW-OFFSET
> prod_in-ams03-geo-ca_access    52         52087106
> prod_in-ams03-geo-ca_access    106        52156813
> prod_in-ams03-geo-ca_access    75         52151755
> prod_in-ams03-geo-ca_access    61         52133608
> prod_in-ams03-geo-ca_access    49         52154385
> prod_in-ams03-geo-ca_access    48         52148247
> prod_in-ams03-geo-ca_access    27         52095874
> prod_in-ams03-geo-ca_access    26         52142331
> prod_in-ams03-geo-ca_access    65         52160181
> prod_in-ams03-geo-ca_access    105        52169166
> prod_in-ams03-geo-ca_access    38         52163198
> prod_in-ams03-geo-ca_access    22         52096231
> prod_in-ams03-geo-ca_access    4          52154512
> prod_in-ams03-geo-ca_access    90         52163215
> prod_in-ams03-geo-ca_access    25         52164527
> prod_in-ams03-geo-ca_access    13         52148553
> prod_in-ams03-geo-ca_access    56         52165558
> prod_in-ams03-geo-ca_access    42         52075104
> prod_in-ams03-geo-ca_access    7          52072333
> prod_in-ams03-geo-ca_access    117        52090029
> prod_in-ams03-geo-ca_access    32         52076469
> prod_in-ams03-geo-ca_access    102        52085066
> prod_in-ams03-geo-ca_access    76         52143820
> prod_in-ams03-geo-ca_access    83         52157217
> prod_in-ams03-geo-ca_access    72         52098060
> prod_in-ams03-geo-ca_access    85         52152612
> prod_in-ams03-geo-ca_access    119        52137225
> prod_in-ams03-geo-ca_access    113        52162012
> prod_in-ams03-geo-ca_access    55         52149399
> prod_in-ams03-geo-ca_access    18         52151998
> prod_in-ams03-geo-ca_access    35         52151756
> prod_in-ams03-geo-ca_access    99         52146244
> prod_in-ams03-geo-ca_access    41         52161567
> prod_in-ams03-geo-ca_access    112        52086712
> prod_in-ams03-geo-ca_access    34         52140841
> prod_in-ams03-geo-ca_access    89         52160809
> prod_in-ams03-geo-ca_access    40         52147177
> prod_in-ams03-geo-ca_access    53         52141117
> prod_in-ams03-geo-ca_access    19         52147752
> prod_in-ams03-geo-ca_access    44         52169047
> prod_in-ams03-geo-ca_access    31         52158455
> prod_in-ams03-geo-ca_access    10         52155007
> prod_in-ams03-geo-ca_access    98         52148061
> prod_in-ams03-geo-ca_access    69         52156414
> prod_in-ams03-geo-ca_access    92         52096106
> prod_in-ams03-geo-ca_access    5          52159142
> prod_in-ams03-geo-ca_access    17         52066397
> prod_in-ams03-geo-ca_access    24         52149433
> prod_in-ams03-geo-ca_access    28         52159909
> prod_in-ams03-geo-ca_access    82         52083925
> prod_in-ams03-geo-ca_access    101        52156350
> prod_in-ams03-geo-ca_access    58         52156500
> prod_in-ams03-geo-ca_access    94         52165527
> prod_in-ams03-geo-ca_access    116        52158005
> prod_in-ams03-geo-ca_access    77         52075690
> prod_in-ams03-geo-ca_access    68         52152975
> prod_in-ams03-geo-ca_access    64         52158277
> prod_in-ams03-geo-ca_access    109        52162696
> prod_in-ams03-geo-ca_access    111        52156535
> prod_in-ams03-geo-ca_access    2          52083131
> prod_in-ams03-geo-ca_access    74         52150817
> prod_in-ams03-geo-ca_access    47         52092867
> prod_in-ams03-geo-ca_access    59         52147851
> prod_in-ams03-geo-ca_access    1          52154047
> prod_in-ams03-geo-ca_access    104        52162658
> prod_in-ams03-geo-ca_access    14         52161087
> prod_in-ams03-geo-ca_access    86         52155828
> prod_in-ams03-geo-ca_access    81         52158537
> prod_in-ams03-geo-ca_access    11         52161597
> prod_in-ams03-geo-ca_access    100        52157311
> prod_in-ams03-geo-ca_access    23         52172470
> prod_in-ams03-geo-ca_access    45         52154257
> prod_in-ams03-geo-ca_access    6          52160103
> prod_in-ams03-geo-ca_access    87         52091756
> prod_in-ams03-geo-ca_access    107        52089608
> prod_in-ams03-geo-ca_access    16         52149265
> prod_in-ams03-geo-ca_access    20         52150732
> prod_in-ams03-geo-ca_access    103        52155276
> prod_in-ams03-geo-ca_access    9          52161987
> prod_in-ams03-geo-ca_access    29         52153796
> prod_in-ams03-geo-ca_access    54         52152245
> prod_in-ams03-geo-ca_access    36         52142445
> prod_in-ams03-geo-ca_access    0          52155910
> prod_in-ams03-geo-ca_access    84         52159052
> prod_in-ams03-geo-ca_access    78         52158632
> prod_in-ams03-geo-ca_access    118        52149746
> prod_in-ams03-geo-ca_access    62         52090560
> prod_in-ams03-geo-ca_access    108        52157511
> prod_in-ams03-geo-ca_access    88         52150632
> prod_in-ams03-geo-ca_access    39         52148150
> prod_in-ams03-geo-ca_access    115        52169203
> prod_in-ams03-geo-ca_access    51         52153200
> prod_in-ams03-geo-ca_access    3          52150514
> prod_in-ams03-geo-ca_access    73         52159766
> prod_in-ams03-geo-ca_access    66         52161783
> prod_in-ams03-geo-ca_access    67         52078371
> prod_in-ams03-geo-ca_access    97         52089805
> prod_in-ams03-geo-ca_access    15         52156319
> prod_in-ams03-geo-ca_access    57         52100913
> prod_in-ams03-geo-ca_access    8          52161732
> prod_in-ams03-geo-ca_access    114        52152390
> prod_in-ams03-geo-ca_access    37         52091579
> prod_in-ams03-geo-ca_access    30         52156230
> prod_in-ams03-geo-ca_access    79         52146601
> prod_in-ams03-geo-ca_access    12         52092444
> prod_in-ams03-geo-ca_access    21         52151103
> prod_in-ams03-geo-ca_access    50         52153126
> prod_in-ams03-geo-ca_access    60         52147546
> prod_in-ams03-geo-ca_access    33         52152862
> prod_in-ams03-geo-ca_access    46         52167625
> prod_in-ams03-geo-ca_access    110        52156369
> prod_in-ams03-geo-ca_access    95         52157493
> prod_in-ams03-geo-ca_access    71         52153659
> prod_in-ams03-geo-ca_access    96         52148024
> prod_in-ams03-geo-ca_access    93         52152429
> prod_in-ams03-geo-ca_access    91         52162944
> prod_in-ams03-geo-ca_access    43         52154651
> prod_in-ams03-geo-ca_access    63         52167783
> prod_in-ams03-geo-ca_access    80         52154510
> prod_in-ams03-geo-ca_access    70         52157348{code}
> If there is an invalid committed offset, could that maybe have caused it to 
> not work correctly?  Even so, this should not be the result. 
> We really want to be able to use this tool to reset offsets to a specified 
> date.
> Let me know if you need more information.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to