@@ -168,16 +168,16 @@ tags:
168
168
as the Iceberg catalog.
169
169
170
170
171
- If you have tables that use Snowflake as the Iceberg catalog
172
- (Snowflake-managed tables), you can sync these tables to an external
171
+ If you have tables housed in another Iceberg catalog, you can sync these
172
+ tables to an external catalog in Polaris.
173
173
174
- catalog in Polaris. If you sync this catalog to Polaris, it appears as an
175
- external catalog in Polaris. The table data and
174
+ If you sync this catalog to Polaris, it appears as an external catalog in
175
+ Polaris. Clients connecting to the external
176
176
177
- metadata is stored in your external cloud storage. The Snowflake query
178
- engine can read from or write to these tables. However, the other query
177
+ catalog can read from or write to these tables. However, clients
178
+ connecting to Polaris will only be able to
179
179
180
- engines can only read from these tables.
180
+ read from these tables.
181
181
182
182
183
183
> **Important**
@@ -348,12 +348,11 @@ tags:
348
348
service connection with a service principal that has
349
349
the privileges to perform these actions.
350
350
351
- 2. Alice uses Snowflake to read data from Table1.
351
+ 2. Alice uses Trino to read data from Table1.
352
352
353
353
Alice can read data from Table1 because she is using a service
354
- connection with a service principal with a catalog integration that
355
- has the privileges to perform this action. Alice
356
- creates an unmanaged table in Snowflake to read data from Table1.
354
+ connection with a service principal that has the privileges to
355
+ perform this action.
357
356
358
357

922
- and Apache Spark™ connections to interact with Polaris.
920
+ - **Bob:** A data engineer who uses Apache Spark™ to
921
+ interact with Polaris.
923
922
924
923
- Alice has created a service principal for Bob. It has been
925
924
granted the Data_engineer principal role, which in turn has been
@@ -933,8 +932,8 @@ tags:
933
932
- The Data administrator roles grant full administrative rights to
934
933
the Silver zone catalog and Gold zone catalog.
935
934
936
- - **Mark:** A data scientist who uses Snowflake AI services to
937
- interact with Polaris.
935
+ - **Mark:** A data scientist who uses trains models with data managed
936
+ by Polaris.
938
937
939
938
- Alice has created a service principal for Mark. It has been
940
939
granted the Data_scientist principal role, which in turn has
@@ -3106,7 +3105,16 @@ paths:
3106
3105
summary : Sends a notification to the table
3107
3106
operationId : sendNotification
3108
3107
requestBody :
3109
- description : The request containing the notification to be sent
3108
+ description : >-
3109
+ The request containing the notification to be sent.
3110
+
3111
+ For each table, Polaris will reject any notification where the
3112
+ timestamp in the request body is older than or equal to the most
3113
+ recent time Polaris has already processed for the table. The
3114
+ responsibility of ensuring the correct order of timestamps for a
3115
+ sequence of notifications lies with the caller of the API. This
3116
+ includes managing potential clock skew or inconsistencies when
3117
+ notifications are sent from multiple sources.
3110
3118
content :
3111
3119
application/json :
3112
3120
schema :
@@ -3136,6 +3144,28 @@ paths:
3136
3144
TableToLoadDoesNotExist :
3137
3145
$ref : >-
3138
3146
#/components/examples/Apache_Iceberg_REST_Catalog_API_NoSuchTableError
3147
+ ' 409 ' :
3148
+ description : >-
3149
+ Conflict - The timestamp of the received notification is older than
3150
+ or equal to the most recent timestamp Polaris has already processed
3151
+ for the specified table.
3152
+ content :
3153
+ application/json :
3154
+ schema :
3155
+ $ref : >-
3156
+ #/components/schemas/Apache_Iceberg_REST_Catalog_API_IcebergErrorResponse
3157
+ example :
3158
+ summary : >-
3159
+ The timestamp of the received notification is older than or
3160
+ equal to the most recent timestamp Polaris has already
3161
+ processed for the specified table.
3162
+ value :
3163
+ error :
3164
+ message : >-
3165
+ A notification with a newer timestamp has been admitted
3166
+ for table
3167
+ type : AlreadyExistsException
3168
+ code : 409
3139
3169
' 419 ' :
3140
3170
$ref : >-
3141
3171
#/components/responses/Apache_Iceberg_REST_Catalog_API_AuthenticationTimeoutResponse
@@ -6044,6 +6074,7 @@ components:
6044
6074
Apache_Iceberg_REST_Catalog_API_NotificationRequest :
6045
6075
required :
6046
6076
- notification-type
6077
+ - payload
6047
6078
properties :
6048
6079
notification-type :
6049
6080
$ref : >-
@@ -7016,6 +7047,16 @@ components:
7016
7047
- bar
7017
7048
updates :
7018
7049
owner : Raoul
7050
+ Apache_Iceberg_REST_Catalog_API_OutOfOrderNotificationError :
7051
+ summary : >-
7052
+ The timestamp of the received notification is older than or equal to the
7053
+ most recent timestamp Polaris has already processed for the specified
7054
+ table.
7055
+ value :
7056
+ error :
7057
+ message : A notification with a newer timestamp has been admitted for table
7058
+ type : AlreadyExistsException
7059
+ code : 409
7019
7060
x-tagGroups :
7020
7061
- name : Apache Polaris (Incubating) Documentation
7021
7062
tags :
0 commit comments