You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "ryan rawson (JIRA)" <ji...@apache.org> on 2009/06/23 04:16:07 UTC

[jira] Created: (HBASE-1566) using Scan(startRow,stopRow) will cause you to iterate the entire table

using Scan(startRow,stopRow) will cause you to iterate the entire table
-----------------------------------------------------------------------

                 Key: HBASE-1566
                 URL: https://issues.apache.org/jira/browse/HBASE-1566
             Project: Hadoop HBase
          Issue Type: Bug
    Affects Versions: 0.20.0
            Reporter: ryan rawson
            Priority: Blocker
             Fix For: 0.20.0


Right now the only way for the client scanner to know that we are at the 'end' of a scan is to client-side-wise use the filter to figure this out. 

This is not easy to fix because the server is unable to indicate the difference between 'done with this region', and 'you're at the end of your scan'.  In both cases we return 0 results, and the client can't figure out what it means.

Right now the best solution is to use filters, which is tricky since there is no StopRowFilter because that functionality is built in :-)

We might have to hack the 'stop row' functionality as a filter until we can improve the client-server API/RPC.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HBASE-1566) using Scan(startRow,stopRow) will cause you to iterate the entire table

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack resolved HBASE-1566.
--------------------------

    Resolution: Fixed
      Assignee: ryan rawson

> using Scan(startRow,stopRow) will cause you to iterate the entire table
> -----------------------------------------------------------------------
>
>                 Key: HBASE-1566
>                 URL: https://issues.apache.org/jira/browse/HBASE-1566
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Assignee: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>         Attachments: HBASE-1566.patch
>
>
> Right now the only way for the client scanner to know that we are at the 'end' of a scan is to client-side-wise use the filter to figure this out. 
> This is not easy to fix because the server is unable to indicate the difference between 'done with this region', and 'you're at the end of your scan'.  In both cases we return 0 results, and the client can't figure out what it means.
> Right now the best solution is to use filters, which is tricky since there is no StopRowFilter because that functionality is built in :-)
> We might have to hack the 'stop row' functionality as a filter until we can improve the client-server API/RPC.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-1566) using Scan(startRow,stopRow) will cause you to iterate the entire table

Posted by "ryan rawson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ryan rawson updated HBASE-1566:
-------------------------------

    Attachment: HBASE-1566.patch

fixes this on my set-up

> using Scan(startRow,stopRow) will cause you to iterate the entire table
> -----------------------------------------------------------------------
>
>                 Key: HBASE-1566
>                 URL: https://issues.apache.org/jira/browse/HBASE-1566
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>         Attachments: HBASE-1566.patch
>
>
> Right now the only way for the client scanner to know that we are at the 'end' of a scan is to client-side-wise use the filter to figure this out. 
> This is not easy to fix because the server is unable to indicate the difference between 'done with this region', and 'you're at the end of your scan'.  In both cases we return 0 results, and the client can't figure out what it means.
> Right now the best solution is to use filters, which is tricky since there is no StopRowFilter because that functionality is built in :-)
> We might have to hack the 'stop row' functionality as a filter until we can improve the client-server API/RPC.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1566) using Scan(startRow,stopRow) will cause you to iterate the entire table

Posted by "ryan rawson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722931#action_12722931 ] 

ryan rawson commented on HBASE-1566:
------------------------------------

actually it doesnt _iterate_ the entire table, but it does touch every RS after the one your rows are hosted on, even if not necessary!

> using Scan(startRow,stopRow) will cause you to iterate the entire table
> -----------------------------------------------------------------------
>
>                 Key: HBASE-1566
>                 URL: https://issues.apache.org/jira/browse/HBASE-1566
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>
> Right now the only way for the client scanner to know that we are at the 'end' of a scan is to client-side-wise use the filter to figure this out. 
> This is not easy to fix because the server is unable to indicate the difference between 'done with this region', and 'you're at the end of your scan'.  In both cases we return 0 results, and the client can't figure out what it means.
> Right now the best solution is to use filters, which is tricky since there is no StopRowFilter because that functionality is built in :-)
> We might have to hack the 'stop row' functionality as a filter until we can improve the client-server API/RPC.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1566) using Scan(startRow,stopRow) will cause you to iterate the entire table

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12724300#action_12724300 ] 

stack commented on HBASE-1566:
------------------------------

+1

That'll do for now.

> using Scan(startRow,stopRow) will cause you to iterate the entire table
> -----------------------------------------------------------------------
>
>                 Key: HBASE-1566
>                 URL: https://issues.apache.org/jira/browse/HBASE-1566
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>         Attachments: HBASE-1566.patch
>
>
> Right now the only way for the client scanner to know that we are at the 'end' of a scan is to client-side-wise use the filter to figure this out. 
> This is not easy to fix because the server is unable to indicate the difference between 'done with this region', and 'you're at the end of your scan'.  In both cases we return 0 results, and the client can't figure out what it means.
> Right now the best solution is to use filters, which is tricky since there is no StopRowFilter because that functionality is built in :-)
> We might have to hack the 'stop row' functionality as a filter until we can improve the client-server API/RPC.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1566) using Scan(startRow,stopRow) will cause you to iterate the entire table

Posted by "ryan rawson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12724266#action_12724266 ] 

ryan rawson commented on HBASE-1566:
------------------------------------

changing Scan to add a filter to handle the stop row.  Hacky and annoying.

> using Scan(startRow,stopRow) will cause you to iterate the entire table
> -----------------------------------------------------------------------
>
>                 Key: HBASE-1566
>                 URL: https://issues.apache.org/jira/browse/HBASE-1566
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>
> Right now the only way for the client scanner to know that we are at the 'end' of a scan is to client-side-wise use the filter to figure this out. 
> This is not easy to fix because the server is unable to indicate the difference between 'done with this region', and 'you're at the end of your scan'.  In both cases we return 0 results, and the client can't figure out what it means.
> Right now the best solution is to use filters, which is tricky since there is no StopRowFilter because that functionality is built in :-)
> We might have to hack the 'stop row' functionality as a filter until we can improve the client-server API/RPC.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.