Amazon Redshift will no longer support the creation of new Python UDFs starting Patch 198.
Existing Python UDFs will continue to function until June 30, 2026. For more information, see the
blog post
SVL_S3RETRIES
Use the SVL_S3RETRIES view to get information about why a data lake query on Amazon S3 that uses Amazon Redshift Spectrum has failed.
SVL_S3RETRIES is visible to all users. Superusers can see all rows; regular users can see only their own data. For more information, see Visibility of data in system tables and views.
RG provisioned clusters
SVL_S3RETRIES is not populated on RG provisioned clusters. The view exists and remains queryable, but returns no rows for queries that ran on RG clusters, because RG uses the cluster's native reader to query Amazon S3 and does not use the Spectrum request retry model.
For Amazon S3 client retry and error details on RG provisioned clusters, use STL_S3CLIENT and STL_S3CLIENT_ERROR.
Table columns
| Column name | Data type | Description |
|---|---|---|
| query | integer | The query ID. |
| segment | integer |
Segment number. A query consists of multiple segments, and each segment consists of one or more steps. Query segments can run in parallel. Each segment runs in a single process. |
| node | integer | The node number. |
| slice | integer | The data slice that a particular segment ran against. |
| eventtime | timestamp without time zone | Time in UTC that the step started executing. |
| retries | integer | The number of retries for the query. |
| successful_fetches | integer | The number of times data was returned. |
| file_size | bigint | This size of the file in bytes. |
| location | text | The location of the table. |
| message | text | The error message. |
Sample query
The following example retrieves data about failed S3 queries.
SELECT svl_s3retries.query, svl_s3retries.segment, svl_s3retries.node, svl_s3retries.slice, svl_s3retries.eventtime, svl_s3retries.retries, svl_s3retries.successful_fetches, svl_s3retries.file_size, btrim((svl_s3retries."location")::text) AS "location", btrim((svl_s3retries.message)::text) AS message FROM svl_s3retries;