You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Jonathan Park (JIRA)" <ji...@apache.org> on 2014/04/15 06:45:15 UTC

[jira] [Created] (ACCUMULO-2671) BlockedOutputStream can hit a StackOverflowError

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)