[jira] [Updated] (TS-3073) tr-pass: non-http request gets blocked with error message instead of being tunnelled to the origin server

2014-09-15 Thread Susan Hinrichs (JIRA)

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

Susan Hinrichs updated TS-3073:
---
Attachment: tr-pass-client-close.patch

tr-pass-client-close.patch fixes the bypass.request scenario.

> tr-pass: non-http request gets blocked with error message instead of being 
> tunnelled to the origin server
> -
>
> Key: TS-3073
> URL: https://issues.apache.org/jira/browse/TS-3073
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Core, HTTP
>Reporter: Nikolai Gorchilov
> Fix For: 5.2.0
>
> Attachments: bypass.request, tr-pass-client-close.patch
>
>
> ATS breaks RIFF Box JTAG Manager software that is using proprietary protocol 
> over port 80 even with tr-pass enabled.
> Instead of creating a tunnel, ATS returns "bad request" error.
> Managed to capture the request that triggers the issue (to be attached as 
> bypass.request). Here's a simple command to reproduce the problem:
> #$ netcat 93.191.132.28 80 < bypass.request
> Direct request returns a simple exclamation mark '!', but passing it via ATS 
> results in:
> {noformat}
> 
> 
> Bad Request
> 
> 
> Bad Request
> 
> 
> Description: Could not process this request. 
> 
> 
> 
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3073) tr-pass: non-http request gets blocked with error message instead of being tunnelled to the origin server

2014-09-15 Thread Susan Hinrichs (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14133932#comment-14133932
 ] 

Susan Hinrichs commented on TS-3073:


There are two parts to the fix in tr-pass-client-close.path.

The non-html request was being mis-characterized and parsed as HTML.  The logic 
that decides whether a packet should be considered for the blind tunnel depends 
on the client state being "ready for read" (VC_EVENT_READY_READ).  But in this 
scenario the client sends its data and then a FIN, so the client state is "end 
of stream" (VC_EVENT_EOS).  I adjusted the logic in 
state_read_client_request_header to handle a parse error as a blind tunnel pass 
over in both states.

The second part of the fix was to figure out how to re-inject the FIN to the 
origin server after the client message has been set.  Without this part of the 
fix, the response would come back from the origin server to the client, but the 
connection would not close until the two minute idle timeout went off.  

I used the half_close flag on the HttpClientSession to mark that the client had 
already sent the FIN before the HttpTunnel was set up.  Then after sending data 
in the TunnelSetup, we check the half_close flag and close the client socket 
for reading and then set the write count on the first write to origin server to 
be exactly the number of bytes in the client message.  This causes a 
VC_EVENT_WRITE_COMPLETE event to be sent which is handled by 
HttpSM::tunnel_handler_ssl_consumer.  That part of the code shuts down the 
original server socket for writing which sends the FIN.  Then the reset of the 
sequence completes as expected.  There was some very odd code there at seemed 
to be at odds with itself.  I have commented it out, will want someone else to 
review to make sure my analysis of the code is correct.

> tr-pass: non-http request gets blocked with error message instead of being 
> tunnelled to the origin server
> -
>
> Key: TS-3073
> URL: https://issues.apache.org/jira/browse/TS-3073
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Core, HTTP
>Reporter: Nikolai Gorchilov
> Fix For: 5.2.0
>
> Attachments: bypass.request, tr-pass-client-close.patch
>
>
> ATS breaks RIFF Box JTAG Manager software that is using proprietary protocol 
> over port 80 even with tr-pass enabled.
> Instead of creating a tunnel, ATS returns "bad request" error.
> Managed to capture the request that triggers the issue (to be attached as 
> bypass.request). Here's a simple command to reproduce the problem:
> #$ netcat 93.191.132.28 80 < bypass.request
> Direct request returns a simple exclamation mark '!', but passing it via ATS 
> results in:
> {noformat}
> 
> 
> Bad Request
> 
> 
> Bad Request
> 
> 
> Description: Could not process this request. 
> 
> 
> 
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-2559) active timeouts do not disconnect client sessions

2014-09-15 Thread Sudheer Vinukonda (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-2559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14134279#comment-14134279
 ] 

Sudheer Vinukonda commented on TS-2559:
---

It looks like this commit incorrectly places the error'ed server session back 
into the pool, potentially impacting subsequent requests. We are seeing a 
(slightly) increased POST failures with ats5 compared to ats4 and I am 
wondering if this commit could be the reason. Coincidentally, it seems that 
[~briang] also noticed this issue and provided a fix in TS-2991. Trying out 
that fix in our network to see if it resolves the POST issue.

> active timeouts do not disconnect client sessions
> -
>
> Key: TS-2559
> URL: https://issues.apache.org/jira/browse/TS-2559
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Core
>Reporter: James Peach
>Assignee: James Peach
> Fix For: 5.0.0
>
>
> If you set {{proxy.config.http.transaction_active_timeout_out}}, and a 
> transaction aborts with a timeout when {{traffic_server}} is receiving the 
> response body from the origin, the cache write is shut down but the client is 
> left connected. There's no way for the client to handle this error except by 
> timing our, so the right behavior is to shut down all the consumers.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-2991) SessionManager incorrectly releasing sessions back to pool

2014-09-15 Thread Sudheer Vinukonda (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-2991?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14134286#comment-14134286
 ] 

Sudheer Vinukonda commented on TS-2991:
---

It looks like this issue is due to TS-2559 which incorrectly places the 
error'ed server session back into the pool, potentially impacting subsequent 
requests. We are seeing a (slightly) increased POST failures with ats5 compared 
to ats4 which could be caused by TS-2559. Trying out the fix to see if it helps.

> SessionManager incorrectly releasing sessions back to pool
> --
>
> Key: TS-2991
> URL: https://issues.apache.org/jira/browse/TS-2991
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Core
>Reporter: Brian Geffon
>Assignee: Brian Geffon
> Fix For: 5.1.0
>
>
> We've seen an issue where Traffic Server receives a response w/ a Connection: 
> Close header followed by an EOS caused by a TCP FIN. What happens is that the 
> tunnel_hander_server() is incorrectly keeping the connection open due to the 
> EOS code path not detecting the connection close. This results in failed 
> connections and other weird transient issues. Patch incoming.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-2559) active timeouts do not disconnect client sessions

2014-09-15 Thread Brian Geffon (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-2559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14134333#comment-14134333
 ] 

Brian Geffon commented on TS-2559:
--

[~sudheerv] Please keep me posted, if you want help triaging your issue I'm 
pretty familiar with that code.

> active timeouts do not disconnect client sessions
> -
>
> Key: TS-2559
> URL: https://issues.apache.org/jira/browse/TS-2559
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Core
>Reporter: James Peach
>Assignee: James Peach
> Fix For: 5.0.0
>
>
> If you set {{proxy.config.http.transaction_active_timeout_out}}, and a 
> transaction aborts with a timeout when {{traffic_server}} is receiving the 
> response body from the origin, the cache write is shut down but the client is 
> left connected. There's no way for the client to handle this error except by 
> timing our, so the right behavior is to shut down all the consumers.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3052) Change libmgmt to use poll instead of select

2014-09-15 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14134373#comment-14134373
 ] 

ASF subversion and git services commented on TS-3052:
-

Commit 3fa7ecaa82f241aca09203f2eeff4a5b703f0b70 in trafficserver's branch 
refs/heads/master from [~zwoop]
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=3fa7eca ]

TS-3052 Uncomment the "hanging" regression for nwo


> Change libmgmt to use poll instead of select
> 
>
> Key: TS-3052
> URL: https://issues.apache.org/jira/browse/TS-3052
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Core, Manager
>Reporter: Leif Hedstrom
> Fix For: 5.2.0
>
>
> With the changes made to libmgmt and its regression test, we end up sitting 
> idle for 60s (#define MAX_TIME_WAIT 60) in select() as one of the regression 
> tests. The suggestion from Theo and James is that switching to poll() is the 
> right fix for this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TS-3077) log cache hit or miss codes

2014-09-15 Thread Miles Libbey (JIRA)
Miles Libbey created TS-3077:


 Summary: log cache hit or miss codes
 Key: TS-3077
 URL: https://issues.apache.org/jira/browse/TS-3077
 Project: Traffic Server
  Issue Type: Bug
Reporter: Miles Libbey


We are currently using the log item crc "The cache result code; specifies how 
the cache responded to the request (HIT, MISS, and so on)."  however, when 
there is an error (like the client aborts), the crc field becomes
ERR_CLIENT_ABORT
ERR_CONNECT_FAIL
ERR_READ_TIMEOUT

etc.  ERR_CLIENT_ABORT  and ERR_CONNECT_FAIL don't seem to be really cache 
Status related.  WOuld still be nice to know if the error happened on a hit or 
miss.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (TS-3077) log cache hit or miss codes

2014-09-15 Thread Leif Hedstrom (JIRA)

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

Leif Hedstrom reassigned TS-3077:
-

Assignee: Leif Hedstrom

> log cache hit or miss codes
> ---
>
> Key: TS-3077
> URL: https://issues.apache.org/jira/browse/TS-3077
> Project: Traffic Server
>  Issue Type: Bug
>Reporter: Miles Libbey
>Assignee: Leif Hedstrom
> Fix For: 5.2.0
>
>
> We are currently using the log item crc "The cache result code; specifies how 
> the cache responded to the request (HIT, MISS, and so on)."  however, when 
> there is an error (like the client aborts), the crc field becomes
> ERR_CLIENT_ABORT
> ERR_CONNECT_FAIL
> ERR_READ_TIMEOUT
> etc.  ERR_CLIENT_ABORTand ERR_CONNECT_FAIL don't seem to be 
> really cache Status related.  WOuld still be nice to know if the error 
> happened on a hit or miss.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3077) log cache hit or miss codes

2014-09-15 Thread Leif Hedstrom (JIRA)

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

Leif Hedstrom updated TS-3077:
--
Fix Version/s: 5.2.0

> log cache hit or miss codes
> ---
>
> Key: TS-3077
> URL: https://issues.apache.org/jira/browse/TS-3077
> Project: Traffic Server
>  Issue Type: Bug
>Reporter: Miles Libbey
> Fix For: 5.2.0
>
>
> We are currently using the log item crc "The cache result code; specifies how 
> the cache responded to the request (HIT, MISS, and so on)."  however, when 
> there is an error (like the client aborts), the crc field becomes
> ERR_CLIENT_ABORT
> ERR_CONNECT_FAIL
> ERR_READ_TIMEOUT
> etc.  ERR_CLIENT_ABORTand ERR_CONNECT_FAIL don't seem to be 
> really cache Status related.  WOuld still be nice to know if the error 
> happened on a hit or miss.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3023) Support space separated values in inline plugin parameters in remap rules

2014-09-15 Thread Bryan Call (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14134903#comment-14134903
 ] 

Bryan Call commented on TS-3023:


[~sudheerv]
Can this be marked as resolved?

> Support space separated values in inline plugin parameters in remap rules
> -
>
> Key: TS-3023
> URL: https://issues.apache.org/jira/browse/TS-3023
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Core
>Reporter: Sudheer Vinukonda
> Fix For: 5.2.0
>
> Attachments: TS-3023.diff
>
>
> While reviewing and testing TS-2947, Leif found that, space separated values 
> are not supported correctly for inline plugin params whereas, they work as 
> expected when specified in the config file. 
> For example, 
> @pparam=proxy.config.foo='bar beer' results only in setting 
> proxy.config.foo=bar
> whereas 
> CONFIG proxy.config.foo STRING 'bar beer' results in setting 
> proxy.config.foo='bar beer'
> Further analysis revealed that the limitation is in parsing/tokenizing the 
> input, which always treats space or tab as delimiters, regardless of whether 
> they are included within quotes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3073) tr-pass: non-http request gets blocked with error message instead of being tunnelled to the origin server

2014-09-15 Thread Nikolai Gorchilov (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14134968#comment-14134968
 ] 

Nikolai Gorchilov commented on TS-3073:
---

[~shinrich], your patch works as expected. Tested in production environment for 
many hours. Thanks. 

> tr-pass: non-http request gets blocked with error message instead of being 
> tunnelled to the origin server
> -
>
> Key: TS-3073
> URL: https://issues.apache.org/jira/browse/TS-3073
> Project: Traffic Server
>  Issue Type: Bug
>  Components: Core, HTTP
>Reporter: Nikolai Gorchilov
> Fix For: 5.2.0
>
> Attachments: bypass.request, tr-pass-client-close.patch
>
>
> ATS breaks RIFF Box JTAG Manager software that is using proprietary protocol 
> over port 80 even with tr-pass enabled.
> Instead of creating a tunnel, ATS returns "bad request" error.
> Managed to capture the request that triggers the issue (to be attached as 
> bypass.request). Here's a simple command to reproduce the problem:
> #$ netcat 93.191.132.28 80 < bypass.request
> Direct request returns a simple exclamation mark '!', but passing it via ATS 
> results in:
> {noformat}
> 
> 
> Bad Request
> 
> 
> Bad Request
> 
> 
> Description: Could not process this request. 
> 
> 
> 
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)