You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by "Miles Libbey (JIRA)" <ji...@apache.org> on 2010/04/19 23:30:49 UTC

[jira] Created: (TS-318) TS doesn't guard itself well against the system time going backwards

TS doesn't guard itself well against the system time going backwards 
---------------------------------------------------------------------

                 Key: TS-318
                 URL: https://issues.apache.org/jira/browse/TS-318
             Project: Traffic Server
          Issue Type: Improvement
            Reporter: Miles Libbey


(was yahoo bug 2156845)


Original description
by Bryan Call  19 months ago at 2008-08-20 08:57

TS doesn't guard itself well against the system time going backwards (for instance in daylight savings time).  Age header gets messed up and it looks like
connections will timeout:

Hi
I ran into the following interesting behavior by accident:

If the system clock changes while TS is running, TS will generate Age: header. This breaks a number of things, monitoring
check being one of them.

Example:
>From mon.corp.sp1:
$ /home/libexec/check_http -w 50 -c 100 --http-version 1.0 -H coolie-status-url.yimg.com -u
/magicnumbers -I .a2s.yahoo.net -vvv
GET /magicnumbers HTTP/1.0
User-Agent: check_http/v1.5 (nagios-plugins 1.4.10)
Connection: close
Host: coolie-status-url.yimg.com


http://s1.ycpi.a2s.yahoo.net:80/magicnumbers is 181 characters
STATUS: HTTP/1.0 200 (OK)
**** HEADER ****
Cache-Control: private
Date: Wed, 20 Aug 2008 06:10:03 GMT
Server: YTS/1.17.8
Content-Length: 25
Content-Type: text/plain
Age: 0
**** CONTENT ****
1219212603
0
80
93

On s1.ycpi.a2s.yahoo.net, changing the clock 1 hour back:

$ date
Tue Aug 19 23:10:32 PDT 2008
$ sudo date 08192210
Tue Aug 19 22:10:00 PDT 2008

Again, testing from the mnode - check_http times out, curl reports the Age header:
$ home/libexec/check_http -w 5 -c 10 --http-version 1.0 -H coolie-status-url.yimg.com -u
/magicnumbers -I s1.ycpi.a2s.yahoo.net -vvv
GET /magicnumbers HTTP/1.0
User-Agent: check_http/v1.5 (nagios-plugins 1.4.10)
Connection: close
Host: coolie-status-url.yimg.com


CRITICAL - Socket timeout after 10 seconds

$ curl -D - -H 'Host: coolie-status-url.yimg.com' http://s1.ycpi.a2s.yahoo.net/magicnumbersHTTP/1.1 200
(OK)
Cache-Control: private
Date: Wed, 20 Aug 2008 05:11:28 GMT
Server: YTS/1.17.8
Content-Type: text/plain
Age: 3597
Transfer-Encoding: chunked
Connection: keep-alive

1219209088
1
80
93

Restarting TS fixes it:
$ restart ytrafficserver
trafficserver-1.17.9: restarting ...


$ home/libexec/check_http -w 5 -c 10 --http-version 1.0 -H coolie-status-url.yimg.com -u
/magicnumbers -I s1.ycpi.a2s.yahoo.net -vvv
GET /magicnumbers HTTP/1.0
User-Agent: check_http/v1.5 (nagios-plugins 1.4.10)
Connection: close
Host: coolie-status-url.yimg.com


http://s1.ycpi.a2s.yahoo.net:80/magicnumbers is 181 characters
STATUS: HTTP/1.0 200 (OK)
**** HEADER ****
Cache-Control: private
Date: Wed, 20 Aug 2008 05:16:01 GMT
Server: YTS/1.17.9
Content-Length: 25
Content-Type: text/plain
Age: 0
**** CONTENT ****
1219209361
3
80
93


HTTP OK HTTP/1.0 200 (OK) - 181 bytes in 0.268 seconds |time=0.267525 size=181

Rolling the clock FORWARD does not cause any impact.

-- Ivan

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.