Sudheer Vinukonda created TS-3049: ------------------------------------- Summary: SPDY requests returning 200 OK with empty body.. Key: TS-3049 URL: https://issues.apache.org/jira/browse/TS-3049 Project: Traffic Server Issue Type: Bug Components: SPDY Reporter: Sudheer Vinukonda
Ran into another issue in our production, where some SPDY requests were returning a valid response (200 OK), but, with no data (empty body). Below is a sample response: {code} t=688758 [st= 1] SPDY_SESSION_SYN_STREAM --> fin = true --> :host: ******** :method: GET :path: /********.js :scheme: https :version: HTTP/1.1 accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 accept-encoding: gzip,deflate accept-language: en-US,en;q=0.8 cache-control: max-age=0 cookie: [215 bytes were stripped] user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36 --> spdy_priority = 0 --> stream_id = 1 --> unidirectional = false t=688941 [st= 184] SPDY_SESSION_SYN_REPLY --> fin = false --> :status: 200 OK :version: HTTP/1.1 accept-ranges: bytes age: 2 cache-control: max-age=536112000 content-encoding: gzip content-type: application/javascript date: Wed, 27 Aug 2014 23:39:53 GMT etag: "************************" expires: Sat, 05 Sep 2026 00:00:00 GMT last-modified: Wed, 27 Aug 2014 20:09:00 GMT server: ATS vary: Accept-Encoding via: HTTP/1.1 ********** (ApacheTrafficServer) x-ysws-request-id: ********** x-ysws-visited-replicas: ********* --> stream_id = 1 t=688941 [st= 184] SPDY_SESSION_RECV_DATA --> fin = true --> size = 0 --> stream_id = 1 {code} Investigating further, it seems that the issue occurs, when the response from the origin is chunked. Debugging further, it looks like there's a bug in FetchSM - check_body_done() is broken for chunked encoding case. {code} bool FetchSM::check_body_done() { if (!check_chunked()) { if (resp_content_length == resp_recived_body_len + resp_reader->read_avail()) return true; return false; } // // TODO: check whether the chunked body is done // return true; } {code} -- This message was sent by Atlassian JIRA (v6.2#6252)