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

Jason Brown commented on CASSANDRA-6809:
----------------------------------------

[~barnie] Your proposal is very similar to to what I've implemented wrt to 
adding encryption to the commitlog. Instead of subclassing CLS, I created a new 
interface, hastily named SegmentWriter, with two impls (one non-encrypted, the 
other encrypted), which is then referenced from CLS. More or less, the same as 
what you are thinking, I'm sure.

Also, It's not clear to me what you are measuring: 

bq. I'm seeing that the current implementation of memory-mapped IO for commit 
logs does not help slow HDDs, but has a very noticeable effect (10-20%) on SSDs

Is this the time for the sync() call to complete? So, then, you are evaluating 
the value of using mmap? If we're not planning on using mmap, are you thinking 
about buffering data ourselves (which is then flushed by the sync thread)?

> Compressed Commit Log
> ---------------------
>
>                 Key: CASSANDRA-6809
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6809
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Benedict
>            Assignee: Branimir Lambov
>            Priority: Minor
>              Labels: performance
>             Fix For: 3.0
>
>         Attachments: logtest.txt
>
>
> It seems an unnecessary oversight that we don't compress the commit log. 
> Doing so should improve throughput, but some care will need to be taken to 
> ensure we use as much of a segment as possible. I propose decoupling the 
> writing of the records from the segments. Basically write into a (queue of) 
> DirectByteBuffer, and have the sync thread compress, say, ~64K chunks every X 
> MB written to the CL (where X is ordinarily CLS size), and then pack as many 
> of the compressed chunks into a CLS as possible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to