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: unknown.7:22@localhost login as nobody
230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol:  Process. lp:0x7fb80c0051b8 reqstate: 0
230323 20:08:36 3065540 unknown.7:22@localhost XrootdProtocol: 0000 Bridge req=3017 dlen=67 blen=67
230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Process is exiting rc:0
230323 20:08:36 3065540 unknown.7:22@localhost XrootdProtocol: 0000 rc=0 stat /home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root
230323 20:08:36 3065540 unknown.7:22@localhost XrootdResponse: 0000 sending 88 data bytes
230323 20:08:36 3065540 http_Req:  XrdHttpReq::Data! final=False
230323 20:08:36 3065540 unknown.7:22@localhost http_Req: PostProcessHTTPReq req: 2 reqstate: 0
230323 20:08:36 3065540 unknown.7:22@localhost 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 unknown.7:22@localhost http_Protocol:  Process. lp:(nil) reqstate: 0
230323 20:08:36 3065540 unknown.7:22@localhost XrootdProtocol: 0000 Bridge req=3010 dlen=67 blen=67
230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Process is exiting rc:0
230323 20:08:36 3065540 unknown.7:22@localhost XrootdProtocol: 0000 open rt //home/mproffit/iris/tmp/00DF0A73-17C2-E511-B086-E41D2D08DE30.root
230323 20:08:36 3065540 unknown.7:22@localhost XrootdResponse: 0000 sending 100 data bytes; status=0
230323 20:08:36 3065540 http_Req:  XrdHttpReq::Data! final=True
230323 20:08:36 3065540 unknown.7:22@localhost http_Req: PostProcessHTTPReq req: 2 reqstate: 1
230323 20:08:36 3065540 unknown.7:22@localhost http_Req: fhandle:0:0:0:0
230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Sending resp: 206 header len:159
230323 20:08:36 3065540 http_Protocol: Sending 159 bytes
230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol:  Process. lp:(nil) reqstate: 1
230323 20:08:36 3065540 unknown.7:22@localhost XrootdProtocol: 0000 Bridge req=3025 dlen=16720 blen=16720
230323 20:08:36 3065540 unknown.7:22@localhost http_Protocol: Process is exiting rc:0
230323 20:08:36 3065540 unknown.7:22@localhost XrootdResponse: 0000 sending err 3002: Read vector is too long
230323 20:08:36 3065540 http_Req:  XrdHttpReq::Error
230323 20:08:36 3065540 unknown.7:22@localhost http_Req: PostProcessHTTPReq req: 2 reqstate: 2
230323 20:08:36 3065540 unknown.7:22@localhost http_Req: PostProcessHTTPReq mapping Xrd error [3002] to status code [500]
230323 20:08:36 3065540 unknown.7:22@localhost 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: unknown.7:22@localhost 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, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <xrootd/xrootd/issues/1976@github.com>

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/issues/1976", "url": "https://github.com/xrootd/xrootd/issues/1976", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

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