Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-749

C++ TBufferedTransports do not flush their buffers on delete

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Trivial
    • Resolution: Cannot Reproduce
    • Affects Version/s: 0.2, 0.3
    • Fix Version/s: 0.10.0
    • Component/s: C++ - Library
    • Labels:
      None
    • Environment:

      Cygwin 1.7.1 on Windows XP SP3, Thrift 0.2.0 & r760184 & Trunk

      Description

      Edit: replaced 'close underlying transport' with 'flush buffers'

      The C++ TBufferedTransports (such as TBufferedTransport) do not flush their buffers on delete.

      The workaround is to manually flush the TBufferedTransport before deleting it. If the TBufferedTransport owned the last instance of the underlying transport, it will be deleted and close itself.

      This may be worth fixing - at the moment, substituting a buffered TSocket for an unbuffered one changes the behaviour on delete.
      Data may be buffered then lost when the TBufferedTransport is deleted.
      This is undesirable - they should behave identically except for the buffering.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              twilsonb Tim Wilson-Brown
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified