Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-1329

IDLE_TIMEOUT should specify time that a stream hasn't read AND written

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 1.4.24.Final, 2.0.4.Final
    • 1.4.16.Final
    • None
    • None

    Description

      Currently there is no way to specify an idle timeout as far as we can tell. The IDLE_TIMEOUT option sets both the read and write timeouts, which are independent. If you have a long GET or PUT (say gigabytes), you could have the channel open and bytes flowing in one direction only for a long time.

      If, for example, a GET was issued against undertow, we see the ReadTimeoutStreamSourceConduit trigger handleReadTimeout at first, as it's reading the request from the client. But once the request is underway, handleReadTimeout is not called again. And so, the scheduled timeoutCommand (scheduled via handleResumeTimeout) will trigger, killing the channel, even though it's happily being written to (e.g. the WriteTimeoutStreamSourceConduit has been resetting it's expiration as expected on the other side.)

      Attachments

        Activity

          People

            sdouglas1@redhat.com Stuart Douglas
            abellina Alessandro Bellina (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: