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

Zhao Yongming commented on TS-2314:
-----------------------------------

looks like a fundamental bug in the rww, should we take a deep look at it? 
cutting down the origin traffic is always the critical feature for a cache.

> New config to allow unsatifiable Range: request to go straight to Origin
> ------------------------------------------------------------------------
>
>                 Key: TS-2314
>                 URL: https://issues.apache.org/jira/browse/TS-2314
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>            Reporter: jaekyung oh
>              Labels: range
>         Attachments: TS-2314.diff
>
>
> Basically read_while_writer works fine when ATS handles normal file.
> In progressive download and playback of mp4 in which moov atom is placed at 
> the end of the file, ATS makes and returns wrong response for range request 
> from unfulfilled cache when read_while_writer is 1.
> In origin, apache has h264 streaming module. Everything is ok whether the 
> moov atom is placed at the beginning of the file or not in origin except a 
> range request happens with read_while_writer.
> Mostly our customer’s contents placed moov atom at the end of the file and in 
> the case movie player stops playing when it seek somewhere in the movie.
> to check if read_while_writer works fine,
> 1. prepare a mp4 file whose moov atom is placed at the end of the file.
> 2. curl --range xxxx-xxxx http://www.test.com/mp4/test.mp4 1> 
> no_cache_from_origin 
> 3. wget http://www.test.com/mp4/test.mp4
> 4. right after wget, execute “curl --range xxxx-xxxx 
> http://www.test.com/mp4/test.mp4 1> from_read_while_writer” on other terminal
> (the point is sending range request while ATS is still downloading)
> 5. after wget gets done, curl --range xxxx-xxxx 
> http://www.test.com/mp4/test.mp4 1> from_cache
> 6. you can check compare those files by bindiff.
> The response from origin(no_cache_from_origin) for the range request is 
> exactly same to from_cache resulted from #5's range request. but 
> from_read_while_writer from #4 is totally different from others.
> i think a range request should be forwarded to origin server if it can’t find 
> the content with the offset in cache even if the read_while_writer is on, 
> instead ATS makes(from where?) and sends wrong response. (In squid.log it 
> indicates TCP_HIT)
> That’s why a movie player stops when it seeks right after the movie starts.
> Well. we turned off read_while_writer and movie play is ok but the problems 
> is read_while_writer is global options. we can’t set it differently for each 
> remap entry by conf_remap.
> So the downloading of Big file(not mp4 file) gives overhead to origin server 
> because read_while_writer is off.



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

Reply via email to