[ 
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)

Reply via email to