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

Ethan Lai commented on TS-2344:
-------------------------------

[~bcall]
1. Class URL(redirect_url) is not holding a NULL terminated string, just get 
its reference might cause thereafter MIME_FIELD_LOCATION length, 
strlen(s->remap_redirect), mis-counted.
2. s->hdr_info.client_response is not built till build_response() call, #8111, 
inside build_error_response().  If set MIME_FIELD_LOCATION before calling 
build_error_response(), it causes segfault.
3.
  Current implementation will lookup with no mappings and build "Not Found on 
Accelerator"(#915) error response first, then call handleIfRedirect().  This is 
why there are 2 error logs which 404 first and 30x followed.
  My patch will call handleIfRedirect() right after !s->url_remap_success.  If 
this is a redirect request, the "Not Found" case will not be reached.  This 
prevents producing 404 error log.  Furthermore, since the error logs were 
produced inside build_error_response(), I thought redirect responses were not 
errors and error logs are not needed.
  About the MIME_FIELD_LOCATION setting, this MIME field must be set before 
calling body_factory->fabricate_with_old_api(), #8176.  Or the %<{Location}psh> 
field in response body will be empty.  This is another reason I move setting 
the location header into build_error_response().

Thanks,
-Ethan

> 404 error was logged while url redirect request was processed corrctly
> ----------------------------------------------------------------------
>
>                 Key: TS-2344
>                 URL: https://issues.apache.org/jira/browse/TS-2344
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Logging
>            Reporter: Eddie
>            Assignee: Bryan Call
>              Labels: Review
>             Fix For: 5.2.0
>
>
> I am seeing a lot of entries in the error log for my url redirect request. 
> The request was processed correctly and I could see the expected response in 
> log as below:
>               2013-11-08 18:23:37 <IP>  301 FIN http://yahoo.com 
> http://www.yahoo.com/
> But log messages like following were printed in the error log too, which 
> generates a  lot of error logs (log rotation configured) and filling up disk 
> space pretty fast.
>               20131108.18h23m37s RESPONSE: sent <IP> status 404 (Not Found on 
> Accelerator) for 'http:///'
>               20131108.18h23m37s RESPONSE: sent <IP> status 301 (Redirect) 
> for 'http:///'
> I watched my tcpdump log and did not see that the 404 error was sent out at 
> all. I am using ATS/3.2.4 (also checked with I am seeing a lot of entries in 
> the error log for my url redirect request. The request was processed correctly
> I could see the expected response in log as well:
>               2013-11-08 18:23:37 <IP>  301 FIN http://yahoo.com 
> http://www.yahoo.com/
> But log messages like following were printed too:
>               20131108.18h23m37s RESPONSE: sent <IP> status 404 (Not Found on 
> Accelerator) for 'http:///'
>               20131108.18h23m37s RESPONSE: sent <IP> status 301 (Redirect) 
> for 'http:///'
> I watched my tcpdump log and did not see that the 404 error was sent out at 
> all. I am using ATS/3.2.4 and following
> is the log configuration.
> CONFIG proxy.config.log.logging_enabled INT 3
> CONFIG proxy.config.log.max_secs_per_buffer INT 1
> CONFIG proxy.config.log.max_space_mb_for_logs INT 25000
> CONFIG proxy.config.log.max_space_mb_for_orphan_logs INT 25
> CONFIG proxy.config.log.max_space_mb_headroom INT 1000
> CONFIG proxy.config.log.hostname STRING localhost
> CONFIG proxy.config.log.logfile_dir STRING var/log/trafficserver
> CONFIG proxy.config.log.logfile_perm STRING rw-r--r--
> CONFIG proxy.config.log.custom_logs_enabled INT 1
> CONFIG proxy.config.log.squid_log_enabled INT 0
> CONFIG proxy.config.log.squid_log_is_ascii INT 0
> CONFIG proxy.config.log.squid_log_name STRING squid
> CONFIG proxy.config.log.squid_log_header STRING NULL
> CONFIG proxy.config.log.common_log_enabled INT 0
> CONFIG proxy.config.log.common_log_is_ascii INT 1
> CONFIG proxy.config.log.common_log_name STRING common
> CONFIG proxy.config.log.common_log_header STRING NULL
> CONFIG proxy.config.log.extended_log_enabled INT 0
> CONFIG proxy.config.log.extended_log_is_ascii INT 0
> CONFIG proxy.config.log.extended_log_name STRING extended
> CONFIG proxy.config.log.extended_log_header STRING NULL
> CONFIG proxy.config.log.extended2_log_enabled INT 0
> CONFIG proxy.config.log.extended2_log_is_ascii INT 1
> CONFIG proxy.config.log.extended2_log_name STRING extended2
> CONFIG proxy.config.log.extended2_log_header STRING NULL
> CONFIG proxy.config.log.separate_icp_logs INT 0
> CONFIG proxy.config.log.separate_host_logs INT 0
> Is this a bug or is this a misconfiguration? Does anyone have any idea?) and 
> following is the log configuration.
> CONFIG proxy.config.log.logging_enabled INT 3
> CONFIG proxy.config.log.max_secs_per_buffer INT 1
> CONFIG proxy.config.log.max_space_mb_for_logs INT 25000
> CONFIG proxy.config.log.max_space_mb_for_orphan_logs INT 25
> CONFIG proxy.config.log.max_space_mb_headroom INT 1000
> CONFIG proxy.config.log.hostname STRING localhost
> CONFIG proxy.config.log.logfile_dir STRING var/log/trafficserver
> CONFIG proxy.config.log.logfile_perm STRING rw-r--r--
> CONFIG proxy.config.log.custom_logs_enabled INT 1
> CONFIG proxy.config.log.squid_log_enabled INT 0
> CONFIG proxy.config.log.squid_log_is_ascii INT 0
> CONFIG proxy.config.log.squid_log_name STRING squid
> CONFIG proxy.config.log.squid_log_header STRING NULL
> CONFIG proxy.config.log.common_log_enabled INT 0
> CONFIG proxy.config.log.common_log_is_ascii INT 1
> CONFIG proxy.config.log.common_log_name STRING common
> CONFIG proxy.config.log.common_log_header STRING NULL
> CONFIG proxy.config.log.extended_log_enabled INT 0
> CONFIG proxy.config.log.extended_log_is_ascii INT 0
> CONFIG proxy.config.log.extended_log_name STRING extended
> CONFIG proxy.config.log.extended_log_header STRING NULL
> CONFIG proxy.config.log.extended2_log_enabled INT 0
> CONFIG proxy.config.log.extended2_log_is_ascii INT 1
> CONFIG proxy.config.log.extended2_log_name STRING extended2
> CONFIG proxy.config.log.extended2_log_header STRING NULL
> CONFIG proxy.config.log.separate_icp_logs INT 0
> CONFIG proxy.config.log.separate_host_logs INT 0
> Is this a bug or is this a misconfiguration? Does anyone have any idea?
> Also, I noticed that with ATS/4.0.1, if there is no URL redirect rule defined 
> in remap.config, I will not see the following response back as ATS 3.2.4: 
> HTTP/1.1 404 Not Found on Accelerator
> Date: Wed, 13 Nov 2013 14:18:19 GMT
> Connection: close
> Server: ATS/3.2.4
> Cache-Control: no-store
> Content-Type: text/html
> Content-Language: en
> Content-Length: 240
> Is this intentional?



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to