Uploaded image for project: 'Synapse'
  1. Synapse
  2. SYNAPSE-527

Transports use TRANSPORT_NON_BLOCKING in an incorrect way

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.2
    • FUTURE
    • Transports
    • None

    Description

      The TRANSPORT_NON_BLOCKING property is set on the message contexts for incoming messages by ServerWorker#createMessageContext (NIO HTTP transport) and AbstractTransportListener#createMessageContext. When the message is sent out, Synapse copies this property over to the message context for the outgoing message. This in turn has an impact on the threading behavior when the message is sent: depending on the value of TRANSPORT_NON_BLOCKING, the <send> mediator (more precisely the OperationClient) will invoke the outgoing transport in a separate thread. It is not clear why the transport that handles the incoming request should determine the threading behavior of the transport that sends the outgoing request to the target service.

      See also http://markmail.org/message/6iuslkueny24po73

      Attachments

        1. synapse_sample_250.xml
          2 kB
          Andreas Veithen

        Issue Links

          Activity

            People

              veithen Andreas Veithen
              veithen Andreas Veithen
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: