[
https://issues.apache.org/jira/browse/KAFKA-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14234780#comment-14234780
]
Guozhang Wang commented on KAFKA-1755:
--------------------------------------
Here are my two cents:
1. At the end of the day, Kafka will have two types of topics, one type only
accepts keyed messages and log compaction is used; the other one accepts any
message and log cleaning is used. Those two types of topics never exchange,
i.e. once a topic is created with one of the two types, it will never change
its type until deletion.
2. Compressed message will be supported with log compaction, which will
de-serialize the message set and re-serialize.
3. With these two points in mind, I would suggest for now:
a. Broker reject non-keyed messages for compacted topics.
b. Broker reject compressed messages for compacted topics (this will be
lifted after KAFKA-1374 is checked in).
c. With this, it should never happen that compactor thread encountering a
non-keyed / compressed (this will be lifted after KAFKA-1374); if it happens,
this would be a FATAL error and we should throw an exception and halt the
server. It indicates some operations are needed and there are some code fixes
before it can be restarted.
> Improve error handling in log cleaner
> -------------------------------------
>
> Key: KAFKA-1755
> URL: https://issues.apache.org/jira/browse/KAFKA-1755
> Project: Kafka
> Issue Type: Bug
> Reporter: Joel Koshy
> Assignee: Joel Koshy
> Labels: newbie++
> Fix For: 0.8.3
>
>
> The log cleaner is a critical process when using compacted topics.
> However, if there is any error in any topic (notably if a key is missing)
> then the cleaner exits and all other compacted topics will also be adversely
> affected - i.e., compaction stops across the board.
> This can be improved by just aborting compaction for a topic on any error and
> keep the thread from exiting.
> Another improvement would be to reject messages without keys that are sent to
> compacted topics although this is not enough by itself.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)