[ 
https://issues.apache.org/jira/browse/CASSANDRA-4338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuki Morishita updated CASSANDRA-4338:
--------------------------------------

    Attachment: 4338-gc.tar.gz

LCS with sstable_size_in_mb set to 1, I ran stress test again (n=20,000,000) 
and get the gc log for both patched and trunk(logs attached).

GC log setting is below:
{code}
# GC logging options -- uncomment to enable
JVM_OPTS="$JVM_OPTS -XX:+PrintGCDetails"
JVM_OPTS="$JVM_OPTS -XX:+PrintPromotionFailure"
JVM_OPTS="$JVM_OPTS -XX:PrintFLSStatistics=1"
JVM_OPTS="$JVM_OPTS -Xloggc:/var/log/cassandra/gc-`date +%s`.log"
{code}

So far, both logs show no indication of promotion failure.

bq. we might need to look at using our "cleaner" hack to free the direct 
buffers, or use a buffer based on FreeableMemory, to avoid the phantomreference 
crap that DirectBuffer normally inflicts on GC

My current implementation does not free Direct ByteBuffer. Since it costs some 
time to allocate direct BB, it allocates large buffer at start up, slice it to 
certain block size, and pool them to reuse. So I don't think switching to 
FreeableMemory or Unsafe contribute improvement here.

I will start looking at the reading side (RAR/CRAR) and see what we can do 
there.
                
> Experiment with direct buffer in SequentialWriter
> -------------------------------------------------
>
>                 Key: CASSANDRA-4338
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4338
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 1.2
>
>         Attachments: 4338-gc.tar.gz, gc-4338-patched.png, gc-trunk.png
>
>
> Using a direct buffer instead of a heap-based byte[] should let us avoid a 
> copy into native memory when we flush the buffer.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to