[
https://issues.apache.org/jira/browse/ACCUMULO-2658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Russ Weeks updated ACCUMULO-2658:
---------------------------------
Description:
The proxy server doesn't benefit from the fix for ACCUMULO-2360 because it
doesn't use the TServerUtils class to set up the thrift server.
The smallest fix is really easy: just add the line:
{code}
args.maxReadBufferBytes = maxFrameSize;
{code}
to o.a.a.proxy.Proxy.createProxyServer.
I guess a more comprehensive fix would be to convert Proxy to use TServerUtils,
but that's a little beyond me at this point.
Steps to reproduce:
1. Start your proxy server
2. telnet localhost 42424
3. Type "stat", press enter.
Expected Behaviour:
* The thrift server stays up and ignores the invalid input
Actual Behaviour:
* The thrift server seems to interpret the text string as a buffer size and
immediately crashes with this error written to the log file:
{code}
#
# java.lang.OutOfMemoryError: Java heap space
# -XX:OnOutOfMemoryError="kill -9 %p"
# Executing /bin/sh -c "kill -9 13396"...
{code}
was:
The proxy server doesn't benefit from the fix for ACCUMULO-2360 because it
doesn't use the TServerUtils class to set up the thrift server.
The smallest fix is really easy: just add the line:
{code}
args.maxReadBufferBytes = maxFrameSize;
{code}
to o.a.a.proxy.Proxy.createProxyServer.
I guess a more comprehensive fix would be to convert Proxy to use TServerUtils,
but that's a little beyond me at this point.
> Thrift Proxy crashes with OOM on bad input
> ------------------------------------------
>
> Key: ACCUMULO-2658
> URL: https://issues.apache.org/jira/browse/ACCUMULO-2658
> Project: Accumulo
> Issue Type: Bug
> Components: proxy
> Affects Versions: 1.5.1
> Reporter: Russ Weeks
>
> The proxy server doesn't benefit from the fix for ACCUMULO-2360 because it
> doesn't use the TServerUtils class to set up the thrift server.
> The smallest fix is really easy: just add the line:
> {code}
> args.maxReadBufferBytes = maxFrameSize;
> {code}
> to o.a.a.proxy.Proxy.createProxyServer.
> I guess a more comprehensive fix would be to convert Proxy to use
> TServerUtils, but that's a little beyond me at this point.
> Steps to reproduce:
> 1. Start your proxy server
> 2. telnet localhost 42424
> 3. Type "stat", press enter.
> Expected Behaviour:
> * The thrift server stays up and ignores the invalid input
> Actual Behaviour:
> * The thrift server seems to interpret the text string as a buffer size and
> immediately crashes with this error written to the log file:
> {code}
> #
> # java.lang.OutOfMemoryError: Java heap space
> # -XX:OnOutOfMemoryError="kill -9 %p"
> # Executing /bin/sh -c "kill -9 13396"...
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)