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

Benedict commented on CASSANDRA-8897:
-------------------------------------

I've pushed a branch 
[here|https://github.com/belliottsmith/cassandra/tree/8897-suggestions] with a 
number of suggestions, along with some minor modifications.

To summarize: I don't like the TreeMap approach, nor the use of the List to 
store the chunks, since both are unnecessary and non-trivial costs, and we want 
this to be as low cost as possible. I've made a suggestion for an alternative 
strategy if you'd like to pursue the ability to relinquish buffers from an 
active allocator, but I'm not sure it buys us much given our current allocation 
strategy and the fact that only the very most recent chunk can be reused in 
this way (but all manage their free states). I personally think such approaches 
should be considered in a follow up ticket at a time when they will be 
beneficial (right now bear in mind we'll pretty much only allocate one buffer 
per chunk), however the simplest strategy of a bump-the-pointer that can be 
rolled back if the most recent allocation is freed seems perfectly fine.

I've also suggested a simplification to the lookup of the owning chunk that 
also protects us against a potential memory corruption bug (if at some future 
date we manage to allocate and free a pooled buffer on two different threads)

> Remove FileCacheService, instead pooling the buffers
> ----------------------------------------------------
>
>                 Key: CASSANDRA-8897
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8897
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Benedict
>            Assignee: Stefania
>             Fix For: 3.0
>
>
> After CASSANDRA-8893, a RAR will be a very lightweight object and will not 
> need caching, so we can eliminate this cache entirely. Instead we should have 
> a pool of buffers that are page-aligned.



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

Reply via email to