[ 
https://issues.apache.org/jira/browse/THRIFT-3182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14619915#comment-14619915
 ] 

Mathias Herberts commented on THRIFT-3182:
------------------------------------------

I was recently bitten by this issue, and when I dug into the code I realized 
that there is no size limitation on the sending side, i.e. the write method 
does not check that the writebuffer_ is not filled passed the configured frame 
size. If such a limit was enforced in TFramedTransport, on a system with an 
identical max frame length configured across components, and assuming no rogue 
ones, the read side of the TFramedTransport should not encounter frames too big.

> TFramedTransport is in an invalid state after frame size exception
> ------------------------------------------------------------------
>
>                 Key: THRIFT-3182
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3182
>             Project: Thrift
>          Issue Type: Bug
>          Components: Java - Library
>    Affects Versions: 0.9.2
>            Reporter: Marshall Scorcio
>
> https://github.com/apache/thrift/pull/512
> This is necessary because after reading the invalid
> frame size from the underlying transport the transport
> is left in a bad state. Any following reads will
> likely throw more invalid frame size exceptions and
> if they don’t they will be reading corrupted messages.
> Closing forces the caller to discard the connection and
> get a new one.



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

Reply via email to