Print

Print


How many byte ranges did you specify? The server has a maximum limit of no 
more than 1024 elements (i.e. byte ranges).

On Thu, 23 Mar 2023, Mason Proffitt wrote:

> The log file below shows what I'm trying to do, including the HTTP request headers. It seems that when the sum of the byte ranges requested in `Range` gets long enough, there's a `Read vector is too long` error that gets propagated as a `500 Internal Server Error`. This is quite surprising, as the total data requested here is not particularly large at all (130 MiB).
>
> ```
> 230323 20:08:36 3065540 http_Protocol:  rc:81 got hdr line: GET //home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root HTTP/1.1^M
>
> 230323 20:08:36 3065540 http_Protocol:  Parsing first line: GET //home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root HTTP/1.1^M
>
> 230323 20:08:36 3065540 http_Protocol:  rc:22 got hdr line: Host: localhost:1094^M
>
> 230323 20:08:36 3065540 http_Protocol:  rc:27 got hdr line: Accept-Encoding: identity^M
>
> 230323 20:08:36 3065540 http_Protocol:  rc:136 got hdr line: Range: bytes=53445211-77058188, 77130795-100499541, 100572148-124999036, 125071643-148689343, 148761950-170010705, 170083313-190163055^M
>
> 230323 20:08:36 3065540 http_Protocol:  rc:2 got hdr line: ^M
>
> 230323 20:08:36 3065540 http_Protocol:  rc:2 detected header end.
> 230323 20:08:36 3065540 XrootdBridge: ***@***.*** login as nobody
> 230323 20:08:36 3065540 ***@***.*** http_Protocol:  Process. lp:0x7fb80c0051b8 reqstate: 0
> 230323 20:08:36 3065540 ***@***.*** XrootdProtocol: 0000 Bridge req=3017 dlen=67 blen=67
> 230323 20:08:36 3065540 ***@***.*** http_Protocol: Process is exiting rc:0
> 230323 20:08:36 3065540 ***@***.*** XrootdProtocol: 0000 rc=0 stat /home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root
> 230323 20:08:36 3065540 ***@***.*** XrootdResponse: 0000 sending 88 data bytes
> 230323 20:08:36 3065540 http_Req:  XrdHttpReq::Data! final=False
> 230323 20:08:36 3065540 ***@***.*** http_Req: PostProcessHTTPReq req: 2 reqstate: 0
> 230323 20:08:36 3065540 ***@***.*** http_Req: Stat for GET /home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root stat=243313213033154561 212708063 48 1679595730 1679595730 1679595722 0644 mproffit mproffit
> 230323 20:08:36 3065540 ***@***.*** http_Protocol:  Process. lp:(nil) reqstate: 0
> 230323 20:08:36 3065540 ***@***.*** XrootdProtocol: 0000 Bridge req=3010 dlen=67 blen=67
> 230323 20:08:36 3065540 ***@***.*** http_Protocol: Process is exiting rc:0
> 230323 20:08:36 3065540 ***@***.*** XrootdProtocol: 0000 open rt //home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root
> 230323 20:08:36 3065540 ***@***.*** XrootdResponse: 0000 sending 100 data bytes; status=0
> 230323 20:08:36 3065540 http_Req:  XrdHttpReq::Data! final=True
> 230323 20:08:36 3065540 ***@***.*** http_Req: PostProcessHTTPReq req: 2 reqstate: 1
> 230323 20:08:36 3065540 ***@***.*** http_Req: fhandle:0:0:0:0
> 230323 20:08:36 3065540 ***@***.*** http_Protocol: Sending resp: 206 header len:159
> 230323 20:08:36 3065540 http_Protocol: Sending 159 bytes
> 230323 20:08:36 3065540 ***@***.*** http_Protocol:  Process. lp:(nil) reqstate: 1
> 230323 20:08:36 3065540 ***@***.*** XrootdProtocol: 0000 Bridge req=3025 dlen=16720 blen=16720
> 230323 20:08:36 3065540 ***@***.*** http_Protocol: Process is exiting rc:0
> 230323 20:08:36 3065540 ***@***.*** XrootdResponse: 0000 sending err 3002: Read vector is too long
> 230323 20:08:36 3065540 http_Req:  XrdHttpReq::Error
> 230323 20:08:36 3065540 ***@***.*** http_Req: PostProcessHTTPReq req: 2 reqstate: 2
> 230323 20:08:36 3065540 ***@***.*** http_Req: PostProcessHTTPReq mapping Xrd error [3002] to status code [500]
> 230323 20:08:36 3065540 ***@***.*** http_Protocol: Sending resp: 500 header len:100
> 230323 20:08:36 3065540 http_Protocol: Sending 100 bytes
> 230323 20:08:36 3065540 http_Protocol: Sending 24 bytes
> 230323 20:08:36 3065540 http_Req:  XrdHttpReq request ended.
> 230323 20:08:36 3065540 http_Protocol:  Cleanup
> 230323 20:08:36 3065540 http_Protocol:  Reset
> 230323 20:08:36 3065540 http_Req:  XrdHttpReq request ended.
> 230323 20:08:36 3065540 XrootdXeq: ***@***.*** disc 0:00:00 (send failure)
> ```
>
> This is with XRootD v5.5.3. I first saw this on the UNL server and then tested that I could reproduce it locally.
>
> -- 
> Reply to this email directly or view it on GitHub:
> https://github.com/xrootd/xrootd/issues/1976
> You are receiving this because you are subscribed to this thread.
>
> Message ID: ***@***.***>


-- 
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/issues/1976#issuecomment-1481857982
You are receiving this because you are subscribed to this thread.

Message ID: <[log in to unmask]>

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1