You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Nicholas Telford (JIRA)" <ji...@apache.org> on 2011/03/02 19:26:37 UTC

[jira] Updated: (THRIFT-867) PHP accelerator module's output transport is incompatible with TFramedTransport

     [ https://issues.apache.org/jira/browse/THRIFT-867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nicholas Telford updated THRIFT-867:
------------------------------------

    Attachment: thrift-tframedtransport-867.patch

Patch to make TFramedTransport::flush() only write a new frame to the underlying transport if there is some data to write.

> PHP accelerator module's output transport is incompatible with TFramedTransport
> -------------------------------------------------------------------------------
>
>                 Key: THRIFT-867
>                 URL: https://issues.apache.org/jira/browse/THRIFT-867
>             Project: Thrift
>          Issue Type: Bug
>          Components: PHP - Library
>    Affects Versions: 0.4
>            Reporter: Bryan Duxbury
>             Fix For: 0.7
>
>         Attachments: thrift-867.diff, thrift-tframedtransport-867.patch
>
>
> I think we've figured out the cause of everyone's problems with THRIFT-837. The patch itself is fine; however, in fixing that bug, we've exposed the fact that PHPOutputTransport erroneously calls down to the underlying PHP transport's flush() method every time the internal 8k buffer is flushed. This is fine for the buffered transport, but unacceptable for the framed transport, which should only be flushed once per RPC call.
> It seems like what we need to do is separate the "internal" buffer flushes from the "external" transport flushes. If we do that, everything should work out fine.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira