You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2010/11/10 04:21:23 UTC
[jira] Created: (CASSANDRA-1722) Index scan only ever scans first
node in ring
Index scan only ever scans first node in ring
---------------------------------------------
Key: CASSANDRA-1722
URL: https://issues.apache.org/jira/browse/CASSANDRA-1722
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 0.7 beta 3
Reporter: Jonathan Ellis
Fix For: 0.7.0
{code:Java}
List<AbstractBounds> ranges = getRestrictedRanges(new Bounds(leftToken, p.getMinimumToken()));
{code}
when called with empty start key this means we have a Bounds(minToken, minToken), which hits the getRR special case
{code:Java}
// special case for bounds containing exactly 1 token
if (queryRange instanceof Bounds && queryRange.left.equals(queryRange.right))
{
if (logger.isDebugEnabled())
logger.debug("restricted single token match for query " + queryRange);
return Collections.singletonList(queryRange);
}
{code}
Looks like this broke as a side effect of CASSANDRA-1442. Prior to that a bounds from [T, minToken] was considered "up to infinity" by getRR so would span multiple nodes.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1722) Unbounded key range only ever
scans first node in ring
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-1722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-1722:
--------------------------------------
Fix Version/s: 0.6.8
Also committed to 0.6.
> Unbounded key range only ever scans first node in ring
> ------------------------------------------------------
>
> Key: CASSANDRA-1722
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1722
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6.7, 0.7 beta 3
> Reporter: Jonathan Ellis
> Assignee: Stu Hood
> Fix For: 0.6.8, 0.7.0
>
> Attachments: 0001-Add-guard-to-the-Bounds-special-case-to-treat-min-rang.txt
>
>
> {code:Java}
> List<AbstractBounds> ranges = getRestrictedRanges(new Bounds(leftToken, p.getMinimumToken()));
> {code}
> when called with empty start key this means we have a Bounds(minToken, minToken), which hits the getRR special case
> {code:Java}
> // special case for bounds containing exactly 1 token
> if (queryRange instanceof Bounds && queryRange.left.equals(queryRange.right))
> {
> if (logger.isDebugEnabled())
> logger.debug("restricted single token match for query " + queryRange);
> return Collections.singletonList(queryRange);
> }
> {code}
> Looks like this broke as a side effect of CASSANDRA-1442. Prior to that a bounds from [T, minToken] was considered "up to infinity" by getRR so would span multiple nodes.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1722) Unbounded key range only ever
scans first node in ring
Posted by "Stu Hood (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-1722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stu Hood updated CASSANDRA-1722:
--------------------------------
Affects Version/s: 0.6.7
Summary: Unbounded key range only ever scans first node in ring (was: Index scan only ever scans first node in ring)
This actually affects get_range_slices as well: querying a key range for start_key='' and end_key='' results in an empty bounds. jbellis backported it to the 0.6 branch.
> Unbounded key range only ever scans first node in ring
> ------------------------------------------------------
>
> Key: CASSANDRA-1722
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1722
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6.7, 0.7 beta 3
> Reporter: Jonathan Ellis
> Assignee: Stu Hood
> Fix For: 0.7.0
>
> Attachments: 0001-Add-guard-to-the-Bounds-special-case-to-treat-min-rang.txt
>
>
> {code:Java}
> List<AbstractBounds> ranges = getRestrictedRanges(new Bounds(leftToken, p.getMinimumToken()));
> {code}
> when called with empty start key this means we have a Bounds(minToken, minToken), which hits the getRR special case
> {code:Java}
> // special case for bounds containing exactly 1 token
> if (queryRange instanceof Bounds && queryRange.left.equals(queryRange.right))
> {
> if (logger.isDebugEnabled())
> logger.debug("restricted single token match for query " + queryRange);
> return Collections.singletonList(queryRange);
> }
> {code}
> Looks like this broke as a side effect of CASSANDRA-1442. Prior to that a bounds from [T, minToken] was considered "up to infinity" by getRR so would span multiple nodes.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1722) Index scan only ever scans first
node in ring
Posted by "Stu Hood (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-1722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stu Hood updated CASSANDRA-1722:
--------------------------------
Attachment: 0001-Add-guard-to-the-Bounds-special-case-to-treat-min-rang.txt
Guard the "exact one token" special case from the minimum token: a minimum token range should wrap.
> Index scan only ever scans first node in ring
> ---------------------------------------------
>
> Key: CASSANDRA-1722
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1722
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.7 beta 3
> Reporter: Jonathan Ellis
> Fix For: 0.7.0
>
> Attachments: 0001-Add-guard-to-the-Bounds-special-case-to-treat-min-rang.txt
>
>
> {code:Java}
> List<AbstractBounds> ranges = getRestrictedRanges(new Bounds(leftToken, p.getMinimumToken()));
> {code}
> when called with empty start key this means we have a Bounds(minToken, minToken), which hits the getRR special case
> {code:Java}
> // special case for bounds containing exactly 1 token
> if (queryRange instanceof Bounds && queryRange.left.equals(queryRange.right))
> {
> if (logger.isDebugEnabled())
> logger.debug("restricted single token match for query " + queryRange);
> return Collections.singletonList(queryRange);
> }
> {code}
> Looks like this broke as a side effect of CASSANDRA-1442. Prior to that a bounds from [T, minToken] was considered "up to infinity" by getRR so would span multiple nodes.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.