From: Cole Mitchell Date: Mon, 17 Apr 2023 09:34:49 +0000 (-0400) Subject: doc/radosgw: format part of s3select X-Git-Tag: v17.2.7~458^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=8383f3faf2eccc7a2c73f1d20dc620d6470d5a4d;p=ceph.git doc/radosgw: format part of s3select Partially format the 'Basic Workflow' section's introduction and 'Basic Functionalities' subsection in s3select. Nothing else is being fixed. Signed-off-by: Cole Mitchell (cherry picked from commit 13cf134c0610509da52aa68e11e26f0740002bde) --- diff --git a/doc/radosgw/s3select.rst b/doc/radosgw/s3select.rst index 2ddc6ea5117fb..4f13da853bfae 100644 --- a/doc/radosgw/s3select.rst +++ b/doc/radosgw/s3select.rst @@ -28,28 +28,42 @@ possible to save a lot of network and CPU(serialization / deserialization). Basic workflow -------------- - | S3-select query is sent to RGW via `AWS-CLI `_ - - | It passes the authentication and permission process as an incoming message (POST). - | **RGWSelectObj_ObjStore_S3::send_response_data** is the “entry point”, it handles each fetched chunk according to input object-key. - | **send_response_data** is first handling the input query, it extracts the query and other CLI parameters. +S3-select query is sent to RGW via `AWS-CLI +`_ + +It passes the authentication and permission process as an incoming message +(POST). **RGWSelectObj_ObjStore_S3::send_response_data** is the “entry point”, +it handles each fetched chunk according to input object-key. +**send_response_data** is first handling the input query, it extracts the query +and other CLI parameters. - | Per each new fetched chunk (~4m), RGW executes an s3-select query on it. - | The current implementation supports CSV objects and since chunks are randomly “cutting” the CSV rows in the middle, those broken-lines (first or last per chunk) are skipped while processing the query. - | Those “broken” lines are stored and later merged with the next broken-line (belong to the next chunk), and finally processed. +Per each new fetched chunk (~4m), RGW executes an s3-select query on it. The +current implementation supports CSV objects and since chunks are randomly +“cutting” the CSV rows in the middle, those broken-lines (first or last per +chunk) are skipped while processing the query. Those “broken” lines are +stored and later merged with the next broken-line (belong to the next chunk), +and finally processed. - | Per each processed chunk an output message is formatted according to `AWS specification `_ and sent back to the client. - | RGW supports the following response: ``{:event-type,records} {:content-type,application/octet-stream} {:message-type,event}``. - | For aggregation queries the last chunk should be identified as the end of input, following that the s3-select-engine initiates end-of-process and produces an aggregated result. +Per each processed chunk an output message is formatted according to `AWS +specification +`_ +and sent back to the client. RGW supports the following response: +``{:event-type,records} {:content-type,application/octet-stream} +{:message-type,event}``. For aggregation queries the last chunk should be +identified as the end of input, following that the s3-select-engine initiates +end-of-process and produces an aggregated result. Basic functionalities ~~~~~~~~~~~~~~~~~~~~~ - | **S3select** has a definite set of functionalities compliant with AWS. +**S3select** has a definite set of functionalities compliant with AWS. - | The implemented software architecture supports basic arithmetic expressions, logical and compare expressions, including nested function calls and casting operators, which enables the user great flexibility. - | review the below s3-select-feature-table_. +The implemented software architecture supports basic arithmetic expressions, +logical and compare expressions, including nested function calls and casting +operators, which enables the user great flexibility. + +review the below s3-select-feature-table_. Error Handling