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

Benedict commented on CASSANDRA-8513:
-------------------------------------

It looks like on trunk the bug may be different, despite having the same 
etymology, which would explain why this wasn't elicited there: instead of badly 
reference counting, trunk will return an empty scanner and so miss data that 
should be read.

> SSTableScanner may not acquire reference, but will still release it when 
> closed
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-8513
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8513
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Benedict
>            Assignee: Benedict
>             Fix For: 2.1.3
>
>         Attachments: 8513.txt
>
>
> getRangeSlice and related methods do not require a reference to perform a 
> safe read, so during one it is possible for SSTableScanner to fail to acquire 
> a reference to the table it's being created on. In this case it doesn't fail, 
> but it also doesn't log that no reference was acquired; on close, it still 
> releases the reference that it never held.
> We can fix this one of two ways: we can tell the scanner if we require a 
> reference to be acquired; or we can track if one was obtained. The former is 
> a bit more invasive but probably better, since we probably care if we fail to 
> grab one in cases where we need it, and probably don't want to grab one 
> otherwise.



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

Reply via email to