Hi,

  Your observation is correct.  we never compact the active segment.
  Some improvements are proposed here,
  https://issues.apache.org/jira/browse/KAFKA-1981


Manikumar

On Tue, Jun 16, 2015 at 5:35 PM, Shayne S <shaynest...@gmail.com> wrote:

> Some further information, and is this a bug?  I'm using 0.8.2.1.
>
> Log compaction will only occur on the non active segments.  Intentional or
> not, it seems that the last segment is always the active segment.  In other
> words, an expired segment will not be cleaned until a new segment has been
> created.
>
> As a result, a log won't be compacted until new data comes in (per
> partition). Does this mean I need to send the equivalent of a pig (
> https://en.wikipedia.org/wiki/Pigging) through each partition in order to
> force compaction?  Or can I force the cleaning somehow?
>
> Here are the steps to recreate:
>
> 1. Create a new topic with a 5 minute segment.ms:
>
> kafka-topics.sh --zookeeper localhost:2181 --create --topic TEST_TOPIC
> --replication-factor 1 --partitions 1 --config cleanup.policy=compact
> --config min.cleanable.dirty.ratio=0.01 --config segment.ms=300000
>
> 2. Repeatedly add messages with identical keys (3x):
>
> echo "ABC123,{\"test\": 1}" | kafka-console-producer.sh --broker-list
> localhost:9092 --topic TEST_TOPIC --property parse.key=true --property
> key.separator=, --new-producer
>
> 3. Wait 5+ minutes and confirm no log compaction.
> 4. Once satisfied, send a new message:
>
> echo "DEF456,{\"test\": 1}" | kafka-console-producer.sh --broker-list
> localhost:9092 --topic TEST_TOPIC --property parse.key=true --property
> key.separator=, --new-producer
>
> 5. Log compaction will occur quickly soon after.
>
> Is my use case of infrequent logs not supported? Is this intentional
> behavior? It's unnecessarily challenging to target each partition with a
> dummy message to trigger compaction.
>
> Also, I believe there is another issue with logs originally configured
> without a segment timeout that lead to my original issue.  I still cannot
> get those logs to compact.
>
> Thanks!
> Shayne
>

Reply via email to