mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-21 09:00:35 +00:00
The get_object_contiguous() accepts optional range argument in a form of offset:lengh and then converts it into first_byte:last_byte pair to satisfy http's Range header range-specifier. If the lat_byte, which is offset + lenght - 1, overflows 64-bits the range specifier becomes invalid. According to RFC9110 servers may ignore invalid ranges if they want to and this is what minio does. The result is pretty interesting. Since the range is specified, client expect PartialContent response, but since the range is ignored by server the result is OK, as if the full object was requested. So instead of some sane "overflow" error, the get_object_contiguous() fails with status "success". The fix is in pre-checking provided ranges and failing early Signed-off-by: Pavel Emelyanov <xemul@scylladb.com>