cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-8513) SSTableScanner may not acquire reference, but will still release it when closed
Date Fri, 19 Dec 2014 15:57:14 GMT

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

Benedict edited comment on CASSANDRA-8513 at 12/19/14 3:57 PM:
---------------------------------------------------------------

It looks like -on trunk- since CASSANDRA-8399 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.


was (Author: benedict):
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)

Mime
View raw message