Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-1245

Thread hangs when processing response message using LocalTransport with dispatchDirect

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.3
    • 2.0.4
    • Transports
    • None
    • Moderate

    Description

      When running requests on a local transport configured with DISPATCH_DIRECT = true, small request/response messages process successfully but any request that generates a response > 1KB seems to hang the JVM. The problem appears to be in the PipedInput/OutputStreams. If the buffer (default size 1024B) fills up it is never flushed and the thread appears to hang in an eternal wait (PipedInputStream.awaitSpace())

      The PipedInput and PipedOutput Streams are on the same thread and therefore the buffer is never cleared until after the stream is closed. Pipes should never be used on a single thread. That will definitely cause a hang. Possibly should use a CachedOutputStream and then grab the inputstream in the dispatchDirect method.

      Attachments

        Activity

          People

            dkulp Daniel Kulp
            mcoogan Michael Coogan
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: