You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Anoop Sam John (Created) (JIRA)" <ji...@apache.org> on 2012/03/05 13:15:56 UTC

[jira] [Created] (HBASE-5520) Support seek() reseek() at RegionScanner

Support seek() reseek() at RegionScanner
----------------------------------------

                 Key: HBASE-5520
                 URL: https://issues.apache.org/jira/browse/HBASE-5520
             Project: HBase
          Issue Type: Improvement
          Components: regionserver
    Affects Versions: 0.92.0
            Reporter: Anoop Sam John


seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
This is created following the discussion under HBASE_2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Lars Hofhansl commented on HBASE-5520:
--------------------------------------

Have been thinking a bit more about this.

I think if we allow the caller just to pass a rowkey, and then enforce the we only seek forward this would be a great feature to have.
Since we're operation at the level of a region scanner (where we think about regions, rather than stores) this would be the right abstraction too.

Alternatively looking at the MemstoreScanner code, seeking backwards would just be a no-op, so that is another option.

Sorry, didn't mean to be dis-encouraging before just cautious :)
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

stack commented on HBASE-5520:
------------------------------

{code}
+      if (kv == null) {$
+        throw new IllegalArgumentException("Row cannot be null.");$
+      }$
{code}

Should be kv cannot be null?

I don't understand what this means:

{code}
The kv that is required to seek must be given$
+   * explicitly for reseek. Should not be used to seek to a key which may come$
+   * before the current position.$
+   * Note : Recommended to use knowing how seek can be done on different kvs.$
+   * Suggested to seek to row boundaries like start of a row or end of a row.$
+   * Seeking to the middle of a row may lead to inconsistencies across stores.$
{code}

... its probably because I'm slow but I'm sure there will be slow fellows following behind me.  Is it saying you need to create a KV to do this?

How would I know what the next row is in advance?  I suppose with the mvcc, you have some hope of isolating this row... but  if we are going for row boundaries, this patch looks to be missing some heft.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Lars Hofhansl commented on HBASE-5520:
--------------------------------------

+1 on patch.
I think this is good for commit.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13233448#comment-13233448 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

@Lars
Are you considering this for 0.94 RC? If you feel the patch is fine and if you include this in RC it will be of great help for us.
But even if you feel this cant go in RC then no issues.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13231258#comment-13231258 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

@Lars
I need to rebase the patch once again related to test case.
Currently the performance numbers am not able to get it because our clusters are busy with other tasks.
If it is ok i will rebase the patch now and upload it so that it can be committed.
If not i will wait to get the results. This can go into 0.94?
What do you say Lars?
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13227581#comment-13227581 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

@Lars and @Stack
Updated the api to take row instead of kv.
@Lars
Yes SEEK_NEXT_USING_HINT is a definite gain but this reseek will help to avoid that one problem that filters have to reseek one more kv incase where we know the row that we need to seek to.

Just a thought of me and Anoop.  Pls let us know your suggestions and comments.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Zhihong Yu commented on HBASE-5520:
-----------------------------------

Compilation failed:
{code}
[ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java:[54,17] org.apache.hadoop.hbase.coprocessor.TestCoprocessorInterface.CustomScanner is not abstract and does not override abstract method reseek(org.apache.hadoop.hbase.KeyValue) in org.apache.hadoop.hbase.regionserver.RegionScanner
{code}
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5520) Support reseek() at RegionScanner

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

Anoop Sam John updated HBASE-5520:
----------------------------------

    Description: 
reseek() is not supported currently at the RegionScanner level. We can support the same.
This is created following the discussion under HBASE-2038

  was:
seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
This is created following the discussion under HBASE-2038

       Assignee: ramkrishna.s.vasudevan
        Summary: Support reseek() at RegionScanner  (was: Support seek() reseek() at RegionScanner)
    
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5520_1.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support seek() reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13222414#comment-13222414 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

We can upload a patch if we are fine with any one of the approaches?

Please provide your suggestions.

                
> Support seek() reseek() at RegionScanner
> ----------------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>
> seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Hudson commented on HBASE-5520:
-------------------------------

Integrated in HBase-TRUNK-security #144 (See [https://builds.apache.org/job/HBase-TRUNK-security/144/])
    HBASE-5520 Support reseek() at RegionScanner (Ram) (Revision 1303005)

     Result = FAILURE
ramkrishna : 
Files : 
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionScanner.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java

                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support seek() reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13225896#comment-13225896 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

seek() api if we provide currently the Memstore scanner and store scanner does not allow going back from a current position.  
So only reseek() has been provided.  Please provide your comments.
                
> Support seek() reseek() at RegionScanner
> ----------------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>         Attachments: HBASE-5520_1.patch
>
>
> seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13233599#comment-13233599 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

@Lars
I have immediately corrected that and now it is running fine. 
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5520) Support reseek() at RegionScanner

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

ramkrishna.s.vasudevan updated HBASE-5520:
------------------------------------------

    Attachment: HBASE-5520_3.patch
    
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

Posted by "Anoop Sam John (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13230907#comment-13230907 ] 

Anoop Sam John commented on HBASE-5520:
---------------------------------------

@Lars
Thanks for your thoughts and suggestion.
Yes we felt that this will be a nice feature for the coprocessor guy..

Now we support seek to the begin boundary of row.
Will it be nice to support seek to the end of a given row also.

Co processor dont know the exact rowid to be seeked... But it know to skip till some rowId.. In that case if we allow to seek to the end boundary of a row , it would be useful.. What do u say?

In our case we dont have this use case now. But it might be useful for some other co processor guys 
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Hadoop QA commented on HBASE-5520:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12518028/HBASE-5520_3.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 6 new or modified tests.

    -1 patch.  The patch command could not apply the patch.

Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1164//console

This message is automatically generated.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Lars Hofhansl commented on HBASE-5520:
--------------------------------------

Wait... Just looked at the runs output again, this *is* related to this patch.
So Ted's right, either commit an addendum or revert the patch please. Thanks.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13233566#comment-13233566 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

Committed to 0.94 and trunk.
Thanks Lars, Stack and Anoop for review. 
Special thanks to Lars for taking it into 0.94 :)

                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5520) Support reseek() at RegionScanner

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

Lars Hofhansl updated HBASE-5520:
---------------------------------

    Fix Version/s: 0.94.0

Yeah, I think this should be in 0.94.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Zhihong Yu commented on HBASE-5520:
-----------------------------------

The patch resulted in compilation error.

Hadoop QA has stopped functioning.

Please revert the patch, fix the compilation error, run the whole test suite and publish test result.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Lars Hofhansl commented on HBASE-5520:
--------------------------------------

+1 on 0.94.
Another question about the patch:
{code}
+    public synchronized boolean reseek(byte[] row) throws IOException {
...
+      startRegionOperation();
{code}
# why start a region operation here? This is called only called from a coprocessor, right? So should already be in a region operation.
# why synchronized?

                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5520) Support reseek() at RegionScanner

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

ramkrishna.s.vasudevan updated HBASE-5520:
------------------------------------------

      Resolution: Fixed
    Hadoop Flags: Reviewed
          Status: Resolved  (was: Patch Available)
    
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Hadoop QA commented on HBASE-5520:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12518777/HBASE-5520_4.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 6 new or modified tests.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    -1 findbugs.  The patch appears to introduce 161 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

     -1 core tests.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.mapreduce.TestImportTsv
                  org.apache.hadoop.hbase.mapred.TestTableMapReduce
                  org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat
                  org.apache.hadoop.hbase.master.TestSplitLogManager

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1216//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1216//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1216//console

This message is automatically generated.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5520) Support seek() reseek() at RegionScanner

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

Anoop Sam John updated HBASE-5520:
----------------------------------

    Description: 
seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
This is created following the discussion under HBASE-2038

  was:
seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
This is created following the discussion under HBASE_2038

    
> Support seek() reseek() at RegionScanner
> ----------------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>
> seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13233557#comment-13233557 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

@Lars
Thanks for reviewing.  I will go ahead and commit this now.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Hadoop QA commented on HBASE-5520:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12517734/HBASE-5520_2.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 3 new or modified tests.

    -1 javadoc.  The javadoc tool appears to have generated -123 warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    -1 findbugs.  The patch appears to introduce 159 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

     -1 core tests.  The patch failed these unit tests:
     

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1145//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1145//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1145//console

This message is automatically generated.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5520) Support seek() reseek() at RegionScanner

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

ramkrishna.s.vasudevan updated HBASE-5520:
------------------------------------------

    Attachment: HBASE-5520_1.patch

Patch for trunk.
                
> Support seek() reseek() at RegionScanner
> ----------------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>         Attachments: HBASE-5520_1.patch
>
>
> seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Hudson commented on HBASE-5520:
-------------------------------

Integrated in HBase-TRUNK #2688 (See [https://builds.apache.org/job/HBase-TRUNK/2688/])
    HBASE-5520 Support reseek() at RegionScanner (Ram) (Revision 1303005)

     Result = SUCCESS
ramkrishna : 
Files : 
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionScanner.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java

                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Hudson commented on HBASE-5520:
-------------------------------

Integrated in HBase-0.94 #41 (See [https://builds.apache.org/job/HBase-0.94/41/])
    HBASE-5520 Support reseek() at RegionScanner (Ram) (Revision 1303006)

     Result = FAILURE
ramkrishna : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/RegionScanner.java
* /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java
* /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java

                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

stack commented on HBASE-5520:
------------------------------

We are reseeking to the start of the passed 'row'?  Is that what we want?  I thought we were trying to go to start of next row.

If reseeking the start of passed in 'row', then this patch looks fine.

I defer to Lars's opinion though.  I don't know this area of the code well.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Lars Hofhansl commented on HBASE-5520:
--------------------------------------

We got an earlier successful test run. The patch is small and adds only new functionality.
Ram, I think you can you just run the tests locally and revert only if you see any problem.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support seek() reseek() at RegionScanner

Posted by "Anoop Sam John (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13222341#comment-13222341 ] 

Anoop Sam John commented on HBASE-5520:
---------------------------------------

We can support only seek() and reseek() at the row boundary level.
We can take any of the below approaches
1. The APIs make use of the rowkey and timestamp only from the KeyValue passed.
2. Check at the RegionScannerImpl level that it is not having the CF, qualifier in the passed KV. If so throw exception. Only the KV can have the rowkey and timestamp also.[It is ok.Timestamp can be there...]
3. Dont bother let the seek happen. But may be dangerous??
4. We can give the signature of the seek() and reseek() at the RegionScanner as seek( byte[] rowKey ) reseek( byte[] rowKey )? So that the seek will be always to the begin KV of the row in every CF. [ if CF contains that key ]
                
> Support seek() reseek() at RegionScanner
> ----------------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>
> seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5520) Support reseek() at RegionScanner

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

ramkrishna.s.vasudevan updated HBASE-5520:
------------------------------------------

    Attachment: HBASE-5520_4.patch

An udpated patch not w.r.t to the comments given by Lars.  In my previous patch some commented lines were present hence removed them.
Reg, startRegionOperation i go with Anoop's reply.
Lars, pls share your comments on this.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Lars Hofhansl commented on HBASE-5520:
--------------------------------------

Generally it would be very useful for coprocessors to have this ability!
After looking at the discussion here (the restrictions imposed on what KVs one can passed - previous ones, row only, column family needs to be ignored, etc) we just need to be careful how we add this.

For this specific issue it would be nice to get some comparative performance numbers between this and filters. Maybe we're missing a level of abstraction...?

                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Hudson commented on HBASE-5520:
-------------------------------

Integrated in HBase-0.94 #42 (See [https://builds.apache.org/job/HBase-0.94/42/])
    HBASE-5520 - 0.94 patch did not apply cleanly .  Updated it (Revision 1303019)

     Result = FAILURE
ramkrishna : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/RegionScanner.java

                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch, HBASE-5520_4.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5520) Support reseek() at RegionScanner

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

ramkrishna.s.vasudevan updated HBASE-5520:
------------------------------------------

    Attachment: HBASE-5520_2.patch

Updated the patch with requestSeek.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13226762#comment-13226762 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

@Stack
If you see the comments above 05/Mar/12 13:30.
Always allowing to createFirstOnRow kv and createLastOnRow kv will help us to ensure that we are on row boundaries.
If you see the comments above 
-> Is it ok if we expose the api accepting a row rather than kv.
-> Or get a kv but still internally create a start key? (We cannot create an end key in this case)


                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

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

Lars Hofhansl commented on HBASE-5520:
--------------------------------------

Agree with stack that the comment can be simplified. Also as stated in HBASE-2038, this reseek only works correctly on row boundaries, so the API should capture this and only accept a rowkey (rather than a KV).

Then maybe the comment could say something like this:
"Seek forward to the first KV matching the passed rowkey.
Only forward seeking is allowed, otherwise the behavior is undefined."

There might be problems with this approach too. What if the scanner already saw some KVs for this rowkey? It puts a lot of burden on the caller that we only seek forward.

As an aside:
Looking back at the various conversations, I actually have not heard a convincing argument on why using a Filter that returns the standard SEEK_NEXT_USING_HINT does not work. It would be doing a little bit more work (because each store would separately need to seek, and it needs to look at at least one more KV to decide to skip ahead), but that would still be *huge* win over a full scan that needs to look at every KV.
Filters do not have the above problems, since they are inherently per column family.
You wouldn't use filterRow() but use filterKeyValue() together with getNextKeyHint()
(see MultipleColumnPrefixFilter).

                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

Posted by "Anoop Sam John (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13231843#comment-13231843 ] 

Anoop Sam John commented on HBASE-5520:
---------------------------------------

@Lars
The co processor preScannerNext() method will be getting called from the HRegionServer
{code}
// Call coprocessor. Get region info from scanner.
      HRegion region = getRegion(s.getRegionInfo().getRegionName());
      if (region != null && region.getCoprocessorHost() != null) {
        Boolean bypass = region.getCoprocessorHost().preScannerNext(s,
            results, nbRows);
{code}

So by the time co processor calls this seek, there wont be any region op already started. Pls correct me if I am wrong.

                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13228197#comment-13228197 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

@Lars
We will come up with some performance numbers based on our scenario. 

Thanks Lars and Stack.
                
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch, HBASE-5520_3.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support seek() reseek() at RegionScanner

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13225911#comment-13225911 ] 

ramkrishna.s.vasudevan commented on HBASE-5520:
-----------------------------------------------

@Lars
Thanks for the review.  I will check the requestSeek option and get back.
                
> Support seek() reseek() at RegionScanner
> ----------------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>         Attachments: HBASE-5520_1.patch
>
>
> seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5520) Support seek() reseek() at RegionScanner

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

Lars Hofhansl commented on HBASE-5520:
--------------------------------------

Didn't realize that KeyValueHeap does have a reseek method already. This makes this much simpler than I thought (so strike my comment in HBASE-2028).
Do you want to use requestSeek (with forward == true) as opposed to reseek, to make use of the lazy-seek optimization?

                
> Support seek() reseek() at RegionScanner
> ----------------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>         Attachments: HBASE-5520_1.patch
>
>
> seek() reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5520) Support reseek() at RegionScanner

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

ramkrishna.s.vasudevan updated HBASE-5520:
------------------------------------------

    Fix Version/s: 0.96.0
           Status: Patch Available  (was: Open)
    
> Support reseek() at RegionScanner
> ---------------------------------
>
>                 Key: HBASE-5520
>                 URL: https://issues.apache.org/jira/browse/HBASE-5520
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.92.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5520_1.patch, HBASE-5520_2.patch
>
>
> reseek() is not supported currently at the RegionScanner level. We can support the same.
> This is created following the discussion under HBASE-2038

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira