hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14155) StackOverflowError in reverse scan
Date Wed, 29 Jul 2015 22:50:05 GMT

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

Hadoop QA commented on HBASE-14155:
-----------------------------------

{color:green}+1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12747847/14155-branch-1.txt
  against branch-1 branch at commit 4ce6f486d063553a78ed1d60670e68564d61a483.
  ATTACHMENT ID: 12747847

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 5 new or modified
tests.

    {color:green}+1 hadoop versions{color}. The patch compiles with all supported hadoop versions
(2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.7.0)

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of
javac compiler warnings.

    {color:green}+1 protoc{color}.  The applied patch does not increase the total number of
protoc compiler warnings.

    {color:green}+1 javadoc{color}.  The javadoc tool did not generate any warning messages.

    {color:green}+1 checkstyle{color}.  The applied patch does not increase the total number
of checkstyle errors

    {color:green}+1 findbugs{color}.  The patch does not introduce any  new Findbugs (version
2.0.3) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number
of release audit warnings.

    {color:green}+1 lineLengths{color}.  The patch does not introduce lines longer than 100

  {color:green}+1 site{color}.  The mvn post-site goal succeeds with this patch.

    {color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/14928//testReport/
Release Findbugs (version 2.0.3) 	warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/14928//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/14928//artifact/patchprocess/checkstyle-aggregate.html

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

This message is automatically generated.

> StackOverflowError in reverse scan
> ----------------------------------
>
>                 Key: HBASE-14155
>                 URL: https://issues.apache.org/jira/browse/HBASE-14155
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver, Scanners
>    Affects Versions: 1.1.0
>            Reporter: James Taylor
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Critical
>              Labels: Phoenix
>         Attachments: 14155-branch-1.txt, HBASE-14155.patch, ReproReverseScanStackOverflow.java,
ReproReverseScanStackOverflowCoprocessor.java
>
>
> A stack overflow may occur when a reverse scan is done. To reproduce (on a Mac), use
the following steps:
> - Download the Phoenix 4.5.0 RC here: https://dist.apache.org/repos/dist/dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/
> - Copy the phoenix-4.5.0-HBase-1.1-server.jar into the HBase lib directory (removing
any earlier Phoenix version if there was one installed)
> - Stop and restart HBase
> - From the bin directory of the Phoenix binary distribution, start sqlline like this:
./sqlline.py localhost
> - Create a new table and populate it like this:
> {code}
> create table desctest (k varchar primary key desc);
> upsert into desctest values ('a');
> upsert into desctest values ('ab');
> upsert into desctest values ('b');
> {code}
> - Note that the following query works fine at this point:
> {code}
> select * from desctest order by k;
> +------------------------------------------+
> |                    K                     |
> +------------------------------------------+
> | a                                        |
> | ab                                       |
> | b                                        |
> +------------------------------------------+
> {code}
> - Stop and start HBase
> - Rerun the above query again and you'll get  a StackOverflowError at StoreFileScanner.seekToPreviousRow()
> {code}
> select * from desctest order by k;
> java.lang.RuntimeException: org.apache.phoenix.exception.PhoenixIOException: org.apache.phoenix.exception.PhoenixIOException:
org.apache.hadoop.hbase.DoNotRetryIOException: DESCTEST,,1437847235264.a74d70e6a8b36e24d1ea1a70edb0cdf7.:
null
> 	at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:84)
> 	at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:52)
> 	at org.apache.phoenix.coprocessor.BaseScannerRegionObserver$2.nextRaw(BaseScannerRegionObserver.java:352)
> 	at org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:77)
> 	at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2393)
> 	at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32205)
> 	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2112)
> 	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:101)
> 	at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
> 	at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.StackOverflowError
> 	at org.apache.hadoop.hbase.io.hfile.ChecksumUtil.numChunks(ChecksumUtil.java:201)
> 	at org.apache.hadoop.hbase.io.hfile.ChecksumUtil.numBytes(ChecksumUtil.java:189)
> 	at org.apache.hadoop.hbase.io.hfile.HFileBlock.totalChecksumBytes(HFileBlock.java:1826)
> 	at org.apache.hadoop.hbase.io.hfile.HFileBlock.getBufferReadOnly(HFileBlock.java:356)
> 	at org.apache.hadoop.hbase.io.hfile.HFileReaderV2$EncodedScannerV2.getEncodedBuffer(HFileReaderV2.java:1211)
> 	at org.apache.hadoop.hbase.io.hfile.HFileReaderV2$EncodedScannerV2.getFirstKeyInBlock(HFileReaderV2.java:1307)
> 	at org.apache.hadoop.hbase.io.hfile.HFileReaderV2$AbstractScannerV2.seekBefore(HFileReaderV2.java:657)
> 	at org.apache.hadoop.hbase.io.hfile.HFileReaderV2$AbstractScannerV2.seekBefore(HFileReaderV2.java:646)
> 	at org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekToPreviousRow(StoreFileScanner.java:425)
> 	at org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekToPreviousRow(StoreFileScanner.java:449)
> 	at org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekToPreviousRow(StoreFileScanner.java:449)
> 	at org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekToPreviousRow(StoreFileScanner.java:449)
> {code}
> I've attempted to reproduce this in a standalone HBase unit test, but have not been able
to (but I'll attach my attempt which mimics what Phoenix is doing).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message