Snowpark Container Dienste: Änderungen an der Logik für fehlgeschlagene Batch-Wiederholungen und neue Spalten in der Befehlsausgabe DESC FUNCTION¶
Achtung
Diese Verhaltensänderung ist in Bundle 2025_02 enthalten.
Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.
Änderungen an der Wiederholungslogik für eine fehlgeschlagene Batch-Anfrage¶
Wenn Sie eine Abfrage ausführen, die eine Dienstfunktion enthält, sendet Snowflake eine Reihe von HTTP-Anfragen, die jeweils einen Batch von Zeilen an den Service enthalten. Wenn der Dienst Fehler zurückgibt (den HTTP-Fehler 404, 429, 500, 502, 503 oder 504), versucht Snowflake die Anfrage erneut. Wenn Snowflake es erneut versucht, sendet es denselben Batch nach einer Verzögerung, die durch einen exponentiellen Backoff-Algorithmus bestimmt wird.
- Vor der Änderung:
Wenn die Gesamtschlafzeit zwischen den Wiederholungsversuchen eine Stunde erreicht, markiert Snowflake die Batch-Ausführung als fehlgeschlagen und die Ausführung der Dienstfunktion schlägt ebenfalls fehl.
- Nach der Änderung:
Standardmäßig versucht Snowflake den fehlgeschlagenen Batch dreimal. Sie können optional angeben, wie oft Snowflake den Batch erneut versuchen soll, indem Sie den Befehl CREATE FUNCTION oder ALTER FUNCTION mit dem Parameter MAX_BATCH_RETRIES ausführen. Beispiel:
Für den Befehl CREATE FUNCTION geben Sie den Parameter MAX_BATCH_RETRIES an, wie unten gezeigt:
CREATE [ OR REPLACE ] FUNCTION <name> ( [ <arg_name> <arg_data_type> ] [ , ... ] ) RETURNS <result_data_type> … [ MAX_BATCH_RETRIES = <integer> ] AS '<http_path_to_request_handler>' …
Für den Befehl ALTER FUNCTION verwenden Sie
SET MAX_BATCH_RETRIES = integer
, um die Anzahl der Wiederholungsversuche festzulegen:ALTER FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] ) SET MAX_BATCH_RETRIES = <integer>
DESCRIBE FUNCTION (Snowpark Container Services) Befehl: Neue Spalten in der Ausgabe¶
Wenn dieses Verhaltensänderungs-Bundle aktiviert ist, enthält die Ausgabe des Befehls DESCRIBE FUNCTION (Snowpark Container Services) die folgenden neuen Spalten:
Spaltenname |
Beschreibung |
---|---|
MAX_BATCH_RETRIES |
Die maximale Anzahl von Wiederholungsversuchen für jeden Batch von Zeilen, die von der Dienstfunktion verarbeitet werden. |
ON_BATCH_FAILURE |
Das Verhalten der Dienstfunktion, wenn ein Batch von Zeilen die maximale Anzahl von Wiederholungen erreicht. |
BATCH_TIMEOUT_SECS |
Die maximale Zeit, die Snowflake auf die Verarbeitung eines einzelnen Batch von Zeilen wartet (einschließlich Wiederholungen und asynchroner Abfrage), bevor die Batch-Abfrage beendet wird. |
Ref: 1938