[ 
https://issues.apache.org/jira/browse/HBASE-14598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-14598:
--------------------------
    Attachment: hbase-14598-v1.patch

Not your patch Ian. The build got killed part way through and then the running 
tests were consided 'zombies'... to fix. Lets retry.  Here is the kill:

[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test 
(secondPartTestsExecution) on project hbase-server: ExecutionException: 
java.lang.RuntimeException: The forked VM terminated without properly saying 
goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server 
&& /home/jenkins/jenkins-slave/tools/hudson.model.JDK/jdk-1.7u51/jre/bin/java 
-enableassertions -Dhbase.test -Xmx2800m -XX:MaxPermSize=256m 
-Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true 
-Djava.awt.headless=true -jar 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/target/surefire/surefirebooter2481254501036658312.jar
 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/target/surefire/surefire8500524386357916421tmp
 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/target/surefire/surefire_8193558353733524194569tmp
[ERROR] -> [Help 1]

> ByteBufferOutputStream grows its HeapByteBuffer beyond JVM limitations
> ----------------------------------------------------------------------
>
>                 Key: HBASE-14598
>                 URL: https://issues.apache.org/jira/browse/HBASE-14598
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.12
>            Reporter: Ian Friedman
>            Assignee: Ian Friedman
>         Attachments: 14598.txt, hbase-14598-v1.patch, hbase-14598-v1.patch
>
>
> We noticed that in returning a Scan against a region containing particularly 
> large (wide) rows that it is possible during 
> ByteBufferOutputStream.checkSizeAndGrow() to attempt to create a new 
> ByteBuffer larger than the JVM allows which then throws a OutOfMemoryError. 
> The code currently caps it at Integer.MAX_VALUE which is actually larger than 
> the JVM allows. This lead to us dealing with cascading region server death as 
> the RegionServer hosting the region died, opened on a new server, the client 
> retried the scan, and the new RS died as well. 
> I believe ByteBufferOutputStream should not try to create ByteBuffers that 
> large and instead throw an exception back up if it needs to grow any bigger. 
> The limit should probably be something like Integer.MAX_VALUE-8, as that is 
> what ArrayList uses. ref: 
> http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/java/util/ArrayList.java#221



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

Reply via email to