[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-09-03 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--
Attachment: (was: TS-3049.diff)

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
  Labels: yahoo
 Fix For: 5.1.0

 Attachments: ts3049.pcap


 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.3.4#6332)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-09-03 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--
Attachment: TS-3049.diff

Updated the patch with the dechunking part in check_chunked() that was lost in 
cleaning up

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
  Labels: yahoo
 Fix For: 5.1.0

 Attachments: TS-3049.diff, ts3049.pcap


 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.3.4#6332)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-09-02 Thread Bryan Call (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Call updated TS-3049:
---
Labels: yahoo  (was: )

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
  Labels: yahoo
 Fix For: 5.1.0

 Attachments: TS-3049.diff, ts3049.pcap


 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.3.4#6332)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-09-02 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--
Attachment: (was: TS-3049.diff)

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
  Labels: yahoo
 Fix For: 5.1.0

 Attachments: ts3049.pcap


 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.3.4#6332)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-09-02 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--
Attachment: TS-3049.diff

restrict the response header/body duplication logic for non-spdy requests for 
backward compatibility with 4.0.x versions. For spdy connections, the bytes 
duplication results in confusing the client.

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
  Labels: yahoo
 Fix For: 5.1.0

 Attachments: TS-3049.diff, ts3049.pcap


 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.3.4#6332)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-09-02 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--
Attachment: (was: TS-3049.diff)

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
  Labels: yahoo
 Fix For: 5.1.0

 Attachments: ts3049.pcap


 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.3.4#6332)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-09-02 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--
Attachment: TS-3049.diff

change the duplicate byte copy check to use TS_FETCH_FLAGS_STREAM instead of 
NOT_INTERNAL_REQUEST

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
  Labels: yahoo
 Fix For: 5.1.0

 Attachments: TS-3049.diff, ts3049.pcap


 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.3.4#6332)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-08-29 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--

Attachment: TS-3049.diff

Attached is the patch that fixes FetchSM to handle Connection:Close header 
correctly. Note that the bug is in FetchSM and may affect non-spdy connections 
that use FetchSM as well. 

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
 Fix For: 5.1.0

 Attachments: TS-3049.diff, ts3049.pcap


 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)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-08-29 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--

Attachment: (was: TS-3049.diff)

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
 Fix For: 5.1.0

 Attachments: ts3049.pcap


 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)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-08-29 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--

Attachment: TS-3049.diff

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
 Fix For: 5.1.0

 Attachments: ts3049.pcap


 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)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-08-29 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--

Attachment: (was: TS-3049.diff)

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
 Fix For: 5.1.0

 Attachments: ts3049.pcap


 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)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-08-29 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--

Attachment: TS-3049.diff

Update the flag from int64_t to int

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
 Fix For: 5.1.0

 Attachments: TS-3049.diff, ts3049.pcap


 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)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-08-29 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--

Attachment: (was: TS-3049.diff)

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
 Fix For: 5.1.0

 Attachments: ts3049.pcap


 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)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-08-29 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--

Attachment: TS-3049.diff

Updated check_connection_close() a little bit per [~amc]'s comments

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Assignee: Brian Geffon
Priority: Blocker
 Fix For: 5.1.0

 Attachments: TS-3049.diff, ts3049.pcap


 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)


[jira] [Updated] (TS-3049) SPDY requests returning 200 OK with empty body..

2014-08-27 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3049:
--

 Priority: Blocker  (was: Major)
Affects Version/s: 5.0.1
Fix Version/s: 5.1.0

 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
Affects Versions: 5.0.1
Reporter: Sudheer Vinukonda
Priority: Blocker
 Fix For: 5.1.0


 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)