Ian Friedman created HBASE-14598:
------------------------------------

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


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 I believe is Integer.MAX_VALUE), which then throws a 
OutOfMemoryError. 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.



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

Reply via email to