You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Alan M. Carroll (JIRA)" <ji...@apache.org> on 2013/06/13 03:41:20 UTC

[jira] [Comment Edited] (TS-1776) Range requests not working right in 3.2.4

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

Alan M. Carroll edited comment on TS-1776 at 6/13/13 1:40 AM:
--------------------------------------------------------------

My view at this point is that range transforms never worked in 3.2.x. This was masked in earlier releases because of the range acceleration, but when that was disabled this problem became apparent. The key change seems to be the handling of the headers. In 3.0.x this was done in the RangeTransform methods, when the RangeTransform fired up. For 3.2.x it was moved out to HttpTransact.cc. The logic to invoke it was placed under a check for t_state.source == SOURCE_CACHE but! when doing a range transform the source is SOURCE_TRANSFORM so the header tweaking doesn't happen. See HttpTransact::handle_content_length_header and its call to change_response_header_because_of_range_request for an example.

I'm not sure what to do, perhaps check on pre_transform_source as well. We need to be careful to only do this for range transforms, which are special, compared to other transforms (especially plugin based transforms).

                
      was (Author: amc):
    My view at this point is that range transforms never worked in 3.2.x. This was masked in earlier releases because of the range acceleration, but when that was disabled this problem became apparent. The key change seems to be the handling of the headers. In 3.0.x this was done in the RangeTransform methods, when the RangeTransform fired up. For 3.2.x it was moved out to HttpTransact.cc. The logic to invoke it was placed under a check for t_state.source == SOURCE_CACHE but! when doing a range transform the source is SOURCE_TRANSFORM so the header tweaking doesn't happen. See HttpTransact::handle_content_length_header and it's call to change_response_header_because_of_range_request for an example.

I'm not sure what to do, perhaps check on pre_transform_source as well. We need to be careful to only do this for range transforms, which are special, compared to other transforms (especially plugin based transforms).

                  
> Range requests not working right in 3.2.4
> -----------------------------------------
>
>                 Key: TS-1776
>                 URL: https://issues.apache.org/jira/browse/TS-1776
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP
>    Affects Versions: 3.2.4
>            Reporter: William Bardwell
>            Assignee: William Bardwell
>            Priority: Blocker
>             Fix For: 3.2.5
>
>
> With the patch in 3.2.4 for TS-1575 that tries to turn off the new range code, range requests aren't work right for me.  The responses have all of the multi-part header markings, but the Content-Length and Content-Range headers should be used for single range requests.  Also when I do a range that starts > 0, the content is wrong.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira