kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jun Rao (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-631) Implement log compaction
Date Mon, 28 Jan 2013 16:33:14 GMT

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

Jun Rao commented on KAFKA-631:
-------------------------------

A few more comments:

73. LogOffsetTest.createBrokerConfig(): We should set log.retention.check.interval.ms to 5
mins, instead of 5ms.

74. CleanerConfig, LogConfig, TestLogCleaning: missing Apache header.

75. TestLogCleaning: Could you write in the comment how this test works?

76. In SkimpyOffsetMap, we use only the first 4 bytes (out of 16 byts of MD5) to calculate
the array position of the hash. Would it be better to use all of the 16 bytes?


                
> Implement log compaction
> ------------------------
>
>                 Key: KAFKA-631
>                 URL: https://issues.apache.org/jira/browse/KAFKA-631
>             Project: Kafka
>          Issue Type: New Feature
>          Components: core
>    Affects Versions: 0.8.1
>            Reporter: Jay Kreps
>            Assignee: Jay Kreps
>         Attachments: KAFKA-631-v1.patch, KAFKA-631-v2.patch, KAFKA-631-v3.patch, KAFKA-631-v4.patch,
KAFKA-631-v5.patch, KAFKA-631-v6.patch, KAFKA-631-v7.patch
>
>
> Currently Kafka has only one way to bound the space of the log, namely by deleting old
segments. The policy that controls which segments are deleted can be configured based either
on the number of bytes to retain or the age of the messages. This makes sense for event or
log data which has no notion of primary key. However lots of data has a primary key and consists
of updates by primary key. For this data it would be nice to be able to ensure that the log
contained at least the last version of every key.
> As an example, say that the Kafka topic contains a sequence of User Account messages,
each capturing the current state of a given user account. Rather than simply discarding old
segments, since the set of user accounts is finite, it might make more sense to delete individual
records that have been made obsolete by a more recent update for the same key. This would
ensure that the topic contained at least the current state of each record.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message