[
https://issues.apache.org/jira/browse/CASSANDRA-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Ellis updated CASSANDRA-3411:
--------------------------------------
Attachment: 3411-cleaned.txt
attaching -cleaned, which is mostly undoing some renaming that obscured the
real changes here.
I think there's some work to do around the commitlog preallocation:
- Seems like we should try to keep an extra segment ready, so that after we
exhaust our preallocated quota we don't block for each new segment
- segments to keep around should be our high water mark of active
- if we record that high water mark in the system table, that feels like a
better way of self-tuning to me than exposing the preallocation count as a
tuneable
- segment allocation should be done off of the CLExecutor thread. if we make
"segments" just "inactive segments" instead of "all segments" then we can make
it into a blocking queue for that purpose
> Pre-allocated, Recycled Commitlog Segment Files
> -----------------------------------------------
>
> Key: CASSANDRA-3411
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3411
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Rick Branson
> Priority: Minor
> Attachments:
> 001-pre-allocated-recycled-commitlog-segment-files-CASSANDRA-3411.patch,
> 3411-cleaned.txt
>
>
> An approach for improving commitlog performance is to pre-allocate the full
> 128MB segment files and reuse them once all the mutations have been flushed.
> Pre-allocation allows writes to be performed without modifying the file size
> metadata, and should (in theory) allow the filesystem to allocate a
> contiguous block of space for the file. Recycling the segment files prevents
> the overhead of pre-allocation from impacting overall performance.
--
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