Jonathan Park created ACCUMULO-2671:
---------------------------------------

             Summary: BlockedOutputStream can hit a StackOverflowError
                 Key: ACCUMULO-2671
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2671
             Project: Accumulo
          Issue Type: Bug
    Affects Versions: 1.6.0
            Reporter: Jonathan Park


This issue mostly came up after a resolution to ACCUMULO-2668 that allows a 
byte[] to be passed directly to the underlying stream from the 
NoFlushOutputStream.

The problem appears to be due to the BlockedOutputStream.write(byte[], int, 
int) implementation that recursively writes out blocks/buffers out. When the 
stream is passed a large mutation (128MB was sufficient to trigger the error 
for me), this will cause a StackOverflowError. 

This is appears to be specifically with encryption at rest turned on.

A simple fix would be to unroll the recursion.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to