Enviar trabajos desde una versión del SDK pasada su fecha de compatibilidad da como resultado interrupciones y una reducción en la capacidad de procesamiento para trabajos de transmisión o por lotes de larga duración. Para mitigar posibles problemas, haz lo siguiente:
- Actualiza la versión del SDK (recomendado).
- Vuelve a enviar el trabajo mediante un token temporal.
- Reanuda el trabajo interrumpido.
Inicia trabajos con versiones de SDK no compatibles
Cuando envíes un trabajo de Dataflow desde una versión del SDK pasada su fecha de compatibilidad, recibirás un mensaje de error que te pedirá que actualices la versión del SDK o uses un token temporal cuando envíes el trabajo.
El valor del token en el mensaje de error contiene token en sí mismo, y la fecha y hora en la que vence. La fecha de vencimiento se configura para dos semanas después.
Si deseas usar el token, vuelve a enviar el trabajo mediante la marca del experimento unsupported_sdk_temporary_override_token
y el valor del token.
--experiments=unsupported_sdk_temporary_override_token=TOKEN
Si envías un trabajo mediante el token después de su vencimiento, recibirás un mensaje de error diferente en el que se te informará el estado de vencimiento. Puedes actualizar a una versión del SDK compatible o volver a enviar el trabajo sin un token para obtener un token nuevo.
No se deben usar los tokens como una forma permanente para seguir usando un SDK no compatible. En algún momento pasada la fecha de compatibilidad de un SDK, se revocarán todos los tokens y se rechazarán todos los trabajos que usen esa versión del SDK no compatible. Para obtener más detalles sobre el estado de compatibilidad de cada SDK, consulta el estado de compatibilidad de la versión del SDK.
Reanuda trabajos interrumpidos
Los trabajos de Dataflow de larga duración que usan SDK no compatibles, como los trabajos de transmisión, también se interrumpirán y su capacidad de procesamiento se reducirá de modo significativo. Estos trabajos interrumpidos se pueden identificar mediante el siguiente mensaje de error en los registros de trabajo:
El servicio interrumpió de forma automática el flujo de trabajo porque usa un SDK de Apache Beam no compatible para Python 2.3.0. Actualiza a la versión más reciente del SDK. Para reanudar de forma temporal el trabajo interrumpido, usa
gcloud alpha dataflow jobs resume-unsupported-sdk --token=TOKEN --region=REGION JOB_ID
. Ten en cuenta que el trabajo que reanuda este token se volverá a interrumpir el 2020-08-28T11:21:58-07:00. Para obtener una lista de las versiones de SDK compatibles, consulta: https://cloud.google.com/dataflow/support#support-status-for-dataflow-sdk-releases.
Como se sugiere en el error, la interrupción se puede mitigar mediante el comando resume-unsupported-sdk. Reanudar un trabajo interrumpido es una solución temporal. En cambio, debes actualizar la versión del SDK para evitar que se realicen más bajas en el futuro.