Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-27981

[QE](8.0.z) UNDERTOW-2444 - Undertow HTTP2 breaks protocol specification in RST_STREAM scenarios

XMLWordPrintable

      With EAP 8.0 Update 3.1 we can see failures of 2 tests in the h2spec TS we use to check that the server behaves according to the HTTP2 protocol standard.

      Here are the failing tests:

      Hypertext Transfer Protocol Version 2 (HTTP/2)
        5. Streams and Multiplexing
          5.1. Stream States
            ...
            using source address 127.0.0.1:35384r sending RST_STREAM frame
            × 8: closed: Sends a DATA frame after sending RST_STREAM frame
              -> The endpoint MUST treat this as a stream error of type STREAM_CLOSED.
                 Expected: GOAWAY Frame (Error Code: STREAM_CLOSED)
                           RST_STREAM Frame (Error Code: STREAM_CLOSED)
                           Connection closed
                   Actual: Timeout
            using source address 127.0.0.1:35386fter sending RST_STREAM frame
            × 9: closed: Sends a HEADERS frame after sending RST_STREAM frame
              -> The endpoint MUST treat this as a stream error of type STREAM_CLOSED.
                 Expected: GOAWAY Frame (Error Code: STREAM_CLOSED)
                           RST_STREAM Frame (Error Code: STREAM_CLOSED)
                           Connection closed
                   Actual: Timeout
      
      

      The tests send a RST_STREAM frame and then continue with DATA/HEADERS and expect the server to respond with a GOAWAY. But it never does and the connection just times out instead.

      This seems to be brought in by the changes from UNDERTOW-2343

              rhn-cservice-bbaranow Bartosz Baranowski
              pmackay@redhat.com Peter Mackay
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: