> On May 19, 2015, 9:41 p.m., Guozhang Wang wrote:
> > About duplicating the compression logic, one way would be:
> > 
> > 1. Add the following functions in ByteBufferMessageSet as:
> > 
> > fill(buffer: ByteBuffer, compressionCodec: CompressionCodec, messages: 
> > MessageAndOffset*): Int
> > 
> > 2. Change ByteBufferMessageSet.create() as:
> > 
> > create(offsetCounter: AtomicLong, compressionCodec: CompressionCodec, 
> > messages: Message*): ByteBuffer = {
> > 
> >   // 1. pair messages to MessageAndOffset with offsetCounter
> >   // 2. create the buffer as 
> > ByteBuffer.allocate(MessageSet.messageSetSize(messages))
> >   // 3. call fill()
> > }

Yeah I thought of doing this, but thought it may be better to defer on it 
because:
- The duplicate code isolates these immediate changes for log compaction. i.e., 
the existing producer request handling will be unaffected.
- It forces an additional iteration for the common case. i.e., create on 
messages will do one iteration to assign offsets and create MessageAndOffset; 
and then a subsequent iteration in fill
- We should evaluate using the client compressor due to the other issue I 
mentioned (i.e., different compression code on broker vs client)

So just to be clear, I'm going to file a follow-up jira to investigate the 
above and also fix the broker compression codec issue (i.e., recompress to 
configured codec during log compaction).


> On May 19, 2015, 9:41 p.m., Guozhang Wang wrote:
> > core/src/main/scala/kafka/message/ByteBufferMessageSet.scala, lines 261-264
> > <https://reviews.apache.org/r/34397/diff/1/?file=963488#file963488line261>
> >
> >     Do we need to modify this comment as well?

Yes these comments could use an edit.


> On May 19, 2015, 9:41 p.m., Guozhang Wang wrote:
> > core/src/main/scala/kafka/log/LogCleaner.scala, lines 432-433
> > <https://reviews.apache.org/r/34397/diff/1/?file=963487#file963487line432>
> >
> >     I think the coding style convention is
> >     
> >     if {
> >     
> >     } else {
> >     
> >     }

Will do.


- Joel


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/34397/#review84390
-----------------------------------------------------------


On May 20, 2015, 12:20 a.m., Joel Koshy wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/34397/
> -----------------------------------------------------------
> 
> (Updated May 20, 2015, 12:20 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1374
>     https://issues.apache.org/jira/browse/KAFKA-1374
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> Remove no-compression constraint for compacted topics
> 
> 
> Fix log cleaner integration test
> 
> 
> Incorporate edits from latest patch
> 
> 
> More minor edits
> 
> 
> Incorporate Guozhang's comments
> 
> 
> Diffs
> -----
> 
>   core/src/main/scala/kafka/log/LogCleaner.scala 
> abea8b251895a5cc0788c6e25b112a2935a3f631 
>   core/src/main/scala/kafka/message/ByteBufferMessageSet.scala 
> 9dfe914991aaf82162e5e300c587c794555d5fd0 
>   core/src/test/scala/kafka/tools/TestLogCleaning.scala 
> 844589427cb9337acd89a5239a98b811ee58118e 
>   core/src/test/scala/unit/kafka/log/LogCleanerIntegrationTest.scala 
> 3b5aa9dc3b7ac5893c1d281ae1326be0e9ed8aad 
>   core/src/test/scala/unit/kafka/log/LogTest.scala 
> 76d3bfd378f32fd2b216b3ebdec86e2070491924 
> 
> Diff: https://reviews.apache.org/r/34397/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Joel Koshy
> 
>

Reply via email to