All Products
Search
Document Center

Object Storage Service:0016-00000836

Last Updated:Mar 19, 2026

Problem description

A Range element is specified in a SelectObject request, but the request parameters do not match the SelectMeta stored for the object.

Causes

SelectMeta stores the CSV parsing parameters — such as RecordDelimiter, FieldDelimiter, and QuoteCharacter — that were used when you ran CreateSelectObjectMeta. When a SelectObject request includes a Range element, OSS validates the request parameters against the stored SelectMeta. Any mismatch causes the request to fail.

Important

When using the Range element in a SelectObject request, the RecordDelimiter, FieldDelimiter, and QuoteCharacter values in the request must exactly match the values stored in SelectMeta.

Examples

The following example shows a parameter mismatch between a CreateSelectObjectMeta request and a subsequent SelectObject request.

Step 1: Create SelectMeta

POST /samplecsv?x-oss-process=csv/meta
Date: Fri, 25 May 2018 22:11:39 GMT
Authorization: OSS qn6q**************:77Dv****************
Host: host name
<CsvMetaRequest>
    <InputSerialization>
        <CompressionType>None</CompressionType>
        <CSV>
            <RecordDelimiter>LA==</RecordDelimiter>
            <FieldDelimiter>Cg==</FieldDelimiter>
            <QuoteCharacter>Ig==</QuoteCharacter>
        </CSV>
    </InputSerialization>
    <OverwriteIfExists>true</OverwriteIfExists>
</CsvMetaRequest>

Step 2: Run a range-based SelectObject query (mismatched parameters)

POST /oss-select/bigcsv_normal.csv?x-oss-process=csv%2Fselect HTTP/1.1
Date: Fri, 25 May 2018 22:11:39 GMT
Authorization: OSS qn6q**************:77Dv****************
Host: host name
<?xml version="1.0"?>
<SelectRequest>
    <Expression>c2VsZWN0IGNvdW50KCopIGZyb20gb3Nzb2JqZWN0IHdoZXJlIF80ID4gNDU=
    </Expression>
    <InputSerialization>
        <CSV>
            <Range>line-range=10-20</Range>
            <FileHeaderInfo>Ignore</FileHeaderInfo>
            <RecordDelimiter>Cg==</RecordDelimiter>
            <FieldDelimiter>LA==</FieldDelimiter>
            <QuoteCharacter>Ig==</QuoteCharacter>
        </CSV>
    </InputSerialization>
    <OutputSerialization>
        ......
    </OutputSerialization>
</SelectRequest>

The request fails because RecordDelimiter and FieldDelimiter are swapped relative to the SelectMeta values:

ParameterSelectMeta value (step 1)SelectObject value (step 2)Match?
RecordDelimiterLA==Cg==No
FieldDelimiterCg==LA==No
QuoteCharacterIg==Ig==Yes

Solutions

  • If you know the correct SelectMeta parameters, update the SelectObject request so its RecordDelimiter, FieldDelimiter, and QuoteCharacter values match those used in the CreateSelectObjectMeta request. When using a Range element to query objects, you must include SelectMeta in the request, and the parameters in the request must be consistent with those in SelectMeta. For details on the required parameters, see SelectObject.

  • If you are unsure what the SelectMeta parameters are, check the error response returned by OSS. The error message includes the SelectMeta parameter values. Update the SelectObject request XML to match those values.

References