You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by Maxim Ivanov <iv...@gmail.com> on 2015/02/08 21:13:24 UTC

Review Request 30775: Fine-grained locking in log.append

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

Review request for kafka.


Bugs: KAFKA-1933
    https://issues.apache.org/jira/browse/KAFKA-1933


Repository: kafka


Description
-------

This patch adds finer locking when appending to log. It breaks
global append lock into 2 sequential and 1 parallel phase.

Basic idea is to allow every thread to "reserve" offsets in non
overlapping ranges, then do compression in parallel and then
"commit" write to log in the same order offsets where reserved.


Diffs
-----

  core/src/main/scala/kafka/log/Log.scala ec192155bec7b643025f8044b0b6565c7b9977d1 

Diff: https://reviews.apache.org/r/30775/diff/


Testing
-------


Thanks,

Maxim Ivanov


Re: Review Request 30775: Fine-grained locking in log.append

Posted by Maxim Ivanov <iv...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30775/
-----------------------------------------------------------

(Updated Feb. 9, 2015, 12:27 p.m.)


Review request for kafka.


Bugs: KAFKA-1933
    https://issues.apache.org/jira/browse/KAFKA-1933


Repository: kafka


Description (updated)
-------

This patch adds finer locking when appending to log. It breaks
global append lock into 2 sequential and 1 parallel phase.

Basic idea is to allow every thread to "reserve" offsets in non
overlapping ranges, then do compression in parallel and then
"commit" write to log in the same order offsets where reserved.

Fix offset range calculation


Forgot to commit modified ByteBufferMessageSet


Diffs (updated)
-----

  core/src/main/scala/kafka/log/Log.scala ec192155bec7b643025f8044b0b6565c7b9977d1 
  core/src/main/scala/kafka/message/ByteBufferMessageSet.scala 788c7864bc881b935975ab4a4e877b690e65f1f1 

Diff: https://reviews.apache.org/r/30775/diff/


Testing
-------


Thanks,

Maxim Ivanov


Re: Review Request 30775: Fine-grained locking in log.append

Posted by Maxim Ivanov <iv...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30775/
-----------------------------------------------------------

(Updated Feb. 9, 2015, 12:15 p.m.)


Review request for kafka.


Bugs: KAFKA-1933
    https://issues.apache.org/jira/browse/KAFKA-1933


Repository: kafka


Description (updated)
-------

This patch adds finer locking when appending to log. It breaks
global append lock into 2 sequential and 1 parallel phase.

Basic idea is to allow every thread to "reserve" offsets in non
overlapping ranges, then do compression in parallel and then
"commit" write to log in the same order offsets where reserved.

Fix offset range calculation


Diffs (updated)
-----

  core/src/main/scala/kafka/log/Log.scala ec192155bec7b643025f8044b0b6565c7b9977d1 

Diff: https://reviews.apache.org/r/30775/diff/


Testing
-------


Thanks,

Maxim Ivanov