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

Francisco Juan commented on KAFKA-8335:
---------------------------------------

I'm seeing this problem only in some partitions, check below partitions sorted 
by disk size: 
{code:java}
| Topic              | P  | Disk (MB) |
| __consumer_offsets | 6  | 23599     |
| __consumer_offsets | 8  | 12285     |
| __consumer_offsets | 43 | 4725      |
| __consumer_offsets | 23 | 875.86    |
| __consumer_offsets | 31 | 443.35    |
| __consumer_offsets | 16 | 433.02    |
| __consumer_offsets | 18 | 418.52    |
| __consumer_offsets | 11 | 385.40    |
| __consumer_offsets | 14 | 308.03    |
| __consumer_offsets | 47 | 268.80    |
| __consumer_offsets | 13 | 254.77    |
| __consumer_offsets | 29 | 250.02    |
| __consumer_offsets | 30 | 233.38    |
| __consumer_offsets | 12 | 148.13    |
| __consumer_offsets | 46 | 116.77    |
| __consumer_offsets | 26 | 114.36    |
| __consumer_offsets | 3  | 101.09    |
...
| __consumer_offsets | 24 | 7.09      |{code}
Our topic is using 50 partitions.

> Log cleaner skips Transactional mark and batch record, causing unlimited 
> growth of __consumer_offsets
> -----------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-8335
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8335
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 2.2.0
>            Reporter: Boquan Tang
>            Assignee: Jason Gustafson
>            Priority: Major
>             Fix For: 2.0.2, 2.1.2, 2.2.1
>
>         Attachments: seg_april_25.zip, segment.zip
>
>
> My Colleague Weichu already sent out a mail to kafka user mailing list 
> regarding this issue, but we think it's worth having a ticket tracking it.
> We are using Kafka Streams with exactly-once enabled on a Kafka cluster for
> a while.
> Recently we found that the size of __consumer_offsets partitions grew huge.
> Some partition went over 30G. This caused Kafka to take quite long to load
> "__consumer_offsets" topic on startup (it loads the topic in order to
> become group coordinator).
> We dumped the __consumer_offsets segments and found that while normal
> offset commits are nicely compacted, transaction records (COMMIT, etc) are
> all preserved. Looks like that since these messages don't have a key, the
> LogCleaner is keeping them all:
> ----------
> $ bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files
> ..../00000000003484332061.log --key-decoder-class
> kafka.serializer.StringDecoder 2>/dev/null | cat -v | head
> Dumping 00000000003484332061.log
> Starting offset: 3484332061
> offset: 3484332089 position: 549 CreateTime: 1556003706952 isvalid: true
> keysize: 4 valuesize: 6 magic: 2 compresscodec: NONE producerId: 1006
> producerEpoch: 2530 sequence: -1 isTransactional: true headerKeys: []
> endTxnMarker: COMMIT coordinatorEpoch: 81
> offset: 3484332090 position: 627 CreateTime: 1556003706952 isvalid: true
> keysize: 4 valuesize: 6 magic: 2 compresscodec: NONE producerId: 4005
> producerEpoch: 2520 sequence: -1 isTransactional: true headerKeys: []
> endTxnMarker: COMMIT coordinatorEpoch: 84
> ...
> ----------
> Streams is doing transaction commits per 100ms (commit.interval.ms=100 when
> exactly-once) so the __consumer_offsets is growing really fast.
> Is this (to keep all transactions) by design, or is that a bug for
> LogCleaner?  What would be the way to clean up the topic?



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

Reply via email to