MinIO InvalidRange error encountered when trying to access an object in MinIO.

The specified range is not satisfiable for the object.

Resolving the InvalidRange Error in MinIO

Understanding MinIO

MinIO is a high-performance, distributed object storage system designed to handle unstructured data such as photos, videos, log files, backups, and container images. It is compatible with Amazon S3 cloud storage service, making it a popular choice for developers looking for a scalable and efficient storage solution.

Recognizing the Symptom

When working with MinIO, you might encounter the InvalidRange error. This error typically manifests when you attempt to access a part of an object using a range that is not satisfiable. For example, you might see an error message like:

InvalidRange: The requested range is not satisfiable

This indicates that the range specified in your request exceeds the bounds of the object size.

Understanding the InvalidRange Issue

The InvalidRange error occurs when the range specified in a request is outside the actual size of the object stored in MinIO. This can happen if you are trying to download a segment of an object that does not exist or if the range values are incorrectly set.

Common Scenarios

  • Requesting a byte range that exceeds the size of the object.
  • Incorrectly formatted range headers in the HTTP request.

Steps to Fix the InvalidRange Issue

To resolve the InvalidRange error, follow these steps:

1. Verify Object Size

First, check the size of the object you are trying to access. You can do this using the MinIO client (mc) command:

mc stat myminio/mybucket/myobject

This command will provide you with the size of the object. Ensure that your range request does not exceed this size.

2. Correct Range Headers

Ensure that the range headers in your HTTP request are correctly formatted. A valid range header looks like this:

Range: bytes=0-499

This example requests the first 500 bytes of the object. Adjust the range values to fit within the object's size.

3. Use MinIO Client for Testing

Use the MinIO client to test your range requests. The mc cat command can be used to retrieve specific byte ranges:

mc cat --range 0-499 myminio/mybucket/myobject

This command will fetch the first 500 bytes of the object, helping you verify that your range requests are correct.

Additional Resources

For more information on handling range requests and other MinIO functionalities, refer to the following resources:

By following these steps, you should be able to resolve the InvalidRange error and ensure your range requests are correctly formatted and within bounds.

Master

MinIO

in Minutes — Grab the Ultimate Cheatsheet

(Perfect for DevOps & SREs)

Most-used commands
Real-world configs/examples
Handy troubleshooting shortcuts
Your email is safe with us. No spam, ever.

Thankyou for your submission

We have sent the cheatsheet on your email!
Oops! Something went wrong while submitting the form.

MinIO

Cheatsheet

(Perfect for DevOps & SREs)

Most-used commands
Your email is safe with us. No spam, ever.

Thankyou for your submission

We have sent the cheatsheet on your email!
Oops! Something went wrong while submitting the form.

MORE ISSUES

Made with ❤️ in Bangalore & San Francisco 🏢

Doctor Droid