hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nate Putnam (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5922) HalfStoreFileReader seekBefore causes StackOverflowError
Date Mon, 07 May 2012 18:48:51 GMT

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

Nate Putnam commented on HBASE-5922:
------------------------------------

@Anoop

Agreed that the <= is probably the right thing to do. I dug into that piece of code and
think there is some issue with the underlying KeyValue.comparator that will keep that from
working. It seems that it's nearly impossible for key to exactly equal splitkey.

This particular issue is a production blocker for us so I would like to get the current fix
into the code base and file another issue for the splitkey equality work. Sound good?
                
> 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
>            Priority: Critical
>             Fix For: 0.90.7, 0.92.2, 0.96.0, 0.94.1
>
>         Attachments: HBASE-5922.patch, HBASE-5922.patch, HBASE-5922.v2.patch, HBASE-5922.v3.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

        

Mime
View raw message