The maximum frame size is being validated by the Thrift Proxy server, not your client. This is to prevent clients from performing a denial of service attack against the (shared) service.
There should be a configuration property to control this, but I don't know what it is off the top of my head (and am on my phone). I would guess that it's documented on the Accumulo user manual. On Jan 31, 2017 15:44, "z11373" <[email protected]> wrote: > We have C++ client talking to Accumulo server via Thrift, so there are > Accumulo proxy/thrift instances running on the server. The client got > exception, and upon investigation on Accumulo thrift server, this error > line > is found: > > 2017-01-31 18:00:11,806 [rpc.CustomNonBlockingServer$CustomFrameBuffer] > ERROR: Read a frame size of 18986583, which is bigger than the maximum > allowable buffer size for ALL connections. > > This issue is likely the client is trying to write data bigger than 16MB to > Accumulo thrift, which the max frame size is set to 16MB on the server > side. > Therefore, I made change on client side to explicitly call > apache::thrift::transport::TFramedTransport::setMaxFrameSize and pass 16 * > 1024 * 1024 value (or 16MB). > > Unfortunately I still hit same issue, so either I missed something, or what > I did was wrong. If you have experience on Thrift, or ever ran into this > issue, let me know how to workaround this issue. > > Thanks, > Z > > > > -- > View this message in context: http://apache-accumulo. > 1065345.n5.nabble.com/accumulo-thrift-server-error-tp19786.html > Sent from the Developers mailing list archive at Nabble.com. >
