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

Benedict commented on CASSANDRA-6919:
-------------------------------------

Split out 7073 and pushed -f with those changes removed

> Use OpOrder to guard sstable references for reads, instead of 
> acquiring/releasing references
> --------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-6919
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6919
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Benedict
>            Assignee: Benedict
>            Priority: Minor
>              Labels: performance
>             Fix For: 2.1 beta2
>
>
> To slightly improve CASSANDRA-6916, and because it's a bit of a 
> simplification anyway, we should move to ensuring sstable resources remain 
> around during reads by guarding them with an OpOrder (which is also being 
> introduced for CASSANDRA-6694) instead of using markReferenced()/release.
> Note this does not eliminate markReferenced, as for long running processes 
> such as compaction it makes sense to have an independent mechanism, because 
> these long running processes would prevent all resource cleanup for their 
> duration rather than just the resources they're using. 
> All this does is cleanup and slightly optimise the read path, whilst giving 
> better guarantees about resource cleanup (e.g. page cache dropping of old 
> sstables which may have been replaced multiple times since the reader was 
> created, so we are dropping pages we don't realise are still in use - in real 
> terms it should be very rare for such a reader to outlive multiple 
> replacements and this is only a performance issue, not a matter of 
> correctness, but it's nice to absolutely be certain anyway).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to