[
https://issues.apache.org/jira/browse/THRIFT-867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12906090#action_12906090
]
Thomas Kho commented on THRIFT-867:
-----------------------------------
Ah okay. Your explanation makes sense. Just want to note, though, that there's
still a possibility for more than one transport flush to happen in sending a
request since flush() is called whenever the buffer will overflow. I think your
change only removes the sending of an empty frame. (Maybe there's a server bug
in handling an empty frame?)
> 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.5
>
> Attachments: thrift-867.diff
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.