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

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

@Stack, I have not gone though the test cases..  Seems like boudary condition 
is not checked.. As far as my analysis there are 2 bugs in this seekBefore()..  
I will take a look at the tests and the other methods of HalfStoreFileReader...
Bugs
1. As the case with Nate, Stackoverflow when seekBefore() called with a 
key>=splitKey
   on the bottom half file
2. On the top half file a seekBefore() call with a key = splitkey is supposed 
to return false but it wont happen. It will try to seek into the bottom half I 
fear ..
                
> HalfStoreFileReader seekBefore causes StackOverflowError
> --------------------------------------------------------
>
>                 Key: HBASE-5922
>                 URL: https://issues.apache.org/jira/browse/HBASE-5922
>             Project: HBase
>          Issue Type: Bug
>          Components: client, io
>    Affects Versions: 0.90.0
>         Environment: HBase 0.90.4
>            Reporter: Nate Putnam
>            Assignee: Nate Putnam
>             Fix For: 0.90.0
>
>         Attachments: HBASE-5922.patch, HBASE-5922.patch
>
>
> Calling HRegionServer.getClosestRowBefore() can cause a stack overflow if the 
> underlying store file is a reference and the row key is in the bottom.
> java.io.IOException: java.io.IOException: java.lang.StackOverflowError
>         at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:978)
>         at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.getClosestRowBefore(HRegionServer.java:1651)
>         at sun.reflect.GeneratedMethodAccessor174.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
>         at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.StackOverflowError
>         at 
> org.apache.hadoop.hbase.io.HalfStoreFileReader$1.seekBefore(HalfStoreFileReader.java:147)
>         at 
> org.apache.hadoop.hbase.io.HalfStoreFileReader$1.seekBefore(HalfStoreFileReader.java:149)
>         at 
> org.apache.hadoop.hbase.io.HalfStoreFileReader$1.seekBefore(HalfStoreFileReader.java:149)
>         at 
> org.apache.hadoop.hbase.io.HalfStoreFileReader$1.seekBefore(HalfStoreFileReader.java:149)
>         at 
> org.apache.hadoop.hbase.io.HalfStoreFileReader$1.seekBefore(HalfStoreFileReader.java:149)

--
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

        

Reply via email to