Thrift
  1. Thrift
  2. THRIFT-867

PHP accelerator module's output transport is incompatible with TFramedTransport

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.4
    • Fix Version/s: 0.7
    • Component/s: PHP - Library
    • Labels:
      None

      Description

      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.

      1. thrift-tframedtransport-867.patch
        0.5 kB
        Nicholas Telford
      2. thrift-867.diff
        0.4 kB
        Arya Goudarzi

        Activity

        Bryan Duxbury made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Nicholas Telford made changes -
        Attachment thrift-tframedtransport-867.patch [ 12472436 ]
        Bryan Duxbury made changes -
        Fix Version/s 0.7 [ 12315360 ]
        Fix Version/s 0.6 [ 12315359 ]
        Bryan Duxbury made changes -
        Fix Version/s 0.6 [ 12315359 ]
        Fix Version/s 0.5 [ 12315235 ]
        Arya Goudarzi made changes -
        Field Original Value New Value
        Attachment thrift-867.diff [ 12453491 ]
        Bryan Duxbury created issue -

          People

          • Assignee:
            Unassigned
            Reporter:
            Bryan Duxbury
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development