[
https://issues.apache.org/jira/browse/HBASE-5922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13267930#comment-13267930
]
stack commented on HBASE-5922:
------------------------------
Can we write a test where we have a multi-block hfile (can have small block
sizes) and then have the file filled with keys that differ by one position
only: e.g. a, b, c, etc. Then we'd test by getting every entry including
outside of the files' bounds but also having top half reach into the bottom
half and vice-versa? Would that help figure the code?
Good stuff lads.
> 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