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

huxihx commented on KAFKA-6572:
-------------------------------

[~slucas] Could it be possible that some records in those segments have no 
timestamps or you ever ran kafka-delete-records.sh before?

> 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