You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "leiminghany (Jira)" <ji...@apache.org> on 2021/08/21 06:28:00 UTC

[jira] [Resolved] (KAFKA-13218) kafka deleted unexpired message unexpectedly

     [ https://issues.apache.org/jira/browse/KAFKA-13218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

leiminghany resolved KAFKA-13218.
---------------------------------
    Resolution: Not A Problem

> kafka deleted unexpired message unexpectedly
> --------------------------------------------
>
>                 Key: KAFKA-13218
>                 URL: https://issues.apache.org/jira/browse/KAFKA-13218
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 2.7.0
>         Environment: docker file :
> from openjdk:11-jre-slim-buster
> RUN apt-get update
> RUN apt-get -y install net-tools iputils-ping curl procps
> RUN curl -OL https://mirrors.bfsu.edu.cn/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz && tar -xzf kafka_2.13-2.7.0.tgz && rm -f kafka_2.13-2.7.0.tgz
> ENV PATH "$PATH:/kafka_2.13-2.7.0/bin"
> RUN mkdir /etc/kafka
> COPY server.properties /etc/kafka/server.properties
> CMD ["kafka-server-start.sh", "/etc/kafka/server.properties"]
> configure file:
> broker.id=2
> log.dirs=/var/lib/kafka
> log.segment.bytes=10485760
> zookeeper.connect=zk-cs.default.svc.cluster.local:2181
> sasl.enabled.mechanisms=PLAIN
> sasl.mechanism.inter.broker.protocol=PLAIN 
> inter.broker.listener.name=INTERNAL
> listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
> listeners=INTERNAL://:9092,EXTERNAL://:30101
> advertised.listeners=INTERNAL://kafka-2.kafka.default.svc.cluster.local:9092,EXTERNAL://192.168.0.13:30101
>            Reporter: leiminghany
>            Priority: Blocker
>
> I created a topic like this :
>  
> {code:java}
> kafka-topics.sh --create --zookeeper zk-cs.default.svc.cluster.local:2181 --partitions 64 --replication-factor 2 --topic signal --config retention.ms=60480000000{code}
> and then I send several message into partition 2 of this topic .
>  
> after than, I try to consumer the message from this partiton, but I can't get any messages.
>  I read the kafka data directory, I found the log file was rolled, here is the files:
>  
> {code:java}
> root@kafka-2:/var/lib/kafka/signal-2# ls
> 00000000000000000005.index  00000000000000000005.log  00000000000000000005.snapshot  00000000000000000005.timeindex  leader-epoch-checkpoint
> {code}
> and the dump info is :
>  
>  
> {code:java}
> root@kafka-2:/var/lib/kafka/signal-2# kafka-run-class.sh kafka.tools.DumpLogSegments --deep-iteration --files 00000000000000000005.log
> Dumping 00000000000000000005.log
> Starting offset: 5
> root@kafka-2:/var/lib/kafka/signal-2# 
> root@kafka-2:/var/lib/kafka/signal-2# kafka-run-class.sh kafka.tools.DumpLogSegments --deep-iteration --files 00000000000000000005.index 
> Dumping 00000000000000000005.index
> root@kafka-2:/var/lib/kafka/signal-2# kafka-run-class.sh kafka.tools.DumpLogSegments --deep-iteration --files 00000000000000000005.snapshot 
> Dumping 00000000000000000005.snapshot
> root@kafka-2:/var/lib/kafka/signal-2# kafka-run-class.sh kafka.tools.DumpLogSegments --deep-iteration --files 00000000000000000005.timeindex 
> Dumping 00000000000000000005.timeindex
> timestamp: 0 offset: 5
> The following indexed offsets are not found in the log.
> Indexed offset: 5, found log offset: -1
> root@kafka-2:/var/lib/kafka/signal-2# cat leader-epoch-checkpoint 
> 0
> 1
> 0 5
> {code}
>  
> here is the kafka console log about this partition:
>  
> {code:java}
> [2021-08-18 12:04:57,652] INFO [ProducerStateManager partition=signal-2] Writing producer snapshot at offset 5 (kafka.log.ProducerStateManager)
> [2021-08-18 12:04:57,653] INFO [Log partition=signal-2, dir=/var/lib/kafka] Rolled new log segment at offset 5 in 7 ms. (kafka.log.Log)
> [2021-08-18 12:04:57,653] INFO [Log partition=signal-2, dir=/var/lib/kafka] Deleting segment LogSegment(baseOffset=0, size=318, lastModifiedTime=1629288220552, largestRecordTimestamp=Some(0)) due to retention time 60480000000ms breach based on the largest record timestamp in the segment (kafka.log.Log)
> [2021-08-18 12:04:57,653] INFO [Log partition=signal-2, dir=/var/lib/kafka] Incremented log start offset to 5 due to segment deletion (kafka.log.Log)
> [2021-08-18 12:05:57,671] INFO [Log partition=signal-2, dir=/var/lib/kafka] Deleting segment files LogSegment(baseOffset=0, size=318, lastModifiedTime=1629288220552, largestRecordTimestamp=Some(0)) (kafka.log.Log)
> [2021-08-18 12:05:57,672] INFO Deleted log /var/lib/kafka/signal-2/00000000000000000000.log.deleted. (kafka.log.LogSegment)
> [2021-08-18 12:05:57,672] INFO Deleted offset index /var/lib/kafka/signal-2/00000000000000000000.index.deleted. (kafka.log.LogSegment)
> [2021-08-18 12:05:57,673] INFO Deleted time index /var/lib/kafka/signal-2/00000000000000000000.timeindex.deleted. (kafka.log.LogSegment)
> {code}
>  
>  
>  
>  
> I think the `largestRecordTimestamp=Some(0)` may be the clue to track this problem, But I can not find out the exact reason。 anyone can help me?
> this problem is happenned occasionally.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)