Si envías tareas desde una versión del SDK posterior a la fecha de asistencia, se producirán interrupciones y se reducirá el rendimiento de las tareas por lotes o de streaming de larga duración. Para mitigar los posibles problemas, siga estos pasos:
- Actualiza la versión del SDK. (Preferido)
- Vuelve a enviar el trabajo con un token temporal.
- Reanuda la tarea interrumpida.
Iniciar trabajos con versiones del SDK no compatibles
Cuando envíes un trabajo de Dataflow desde una versión del SDK posterior a la fecha de asistencia, recibirás un mensaje de error que te indicará que actualices la versión del SDK o que uses un token temporal al enviar el trabajo.
El valor del token del mensaje de error contiene la fecha y la hora en las que caduca el token, así como el propio token. La fecha de vencimiento se establece dos semanas después.
Si quieres usar el token, vuelve a enviar el trabajo con la marca de experimento unsupported_sdk_temporary_override_token
y el valor del token.
--experiments=unsupported_sdk_temporary_override_token=TOKEN
Si envías una tarea con el token después de que caduque, recibirás otro mensaje de error que te informará de que ha caducado. Puedes actualizar a una versión compatible del SDK o volver a enviar el trabajo sin el token para obtener uno nuevo.
Los tokens no deben usarse como una forma permanente de seguir usando un SDK no compatible. En algún momento después de la fecha de fin de asistencia de un SDK, se revocarán todos los tokens y se rechazarán todos los trabajos que usen esa versión del SDK. Para obtener más información sobre el estado de la compatibilidad de cada SDK, consulta Estado de la compatibilidad de las versiones del SDK.
Reanudar tareas interrumpidas
Las tareas de Dataflow de larga duración que usen SDKs no compatibles, como las tareas de streaming, también se interrumpirán y su rendimiento se reducirá significativamente. Estas tareas interrumpidas se pueden identificar mediante el siguiente mensaje de error en los registros de tareas:
El servicio ha interrumpido automáticamente el flujo de trabajo porque utiliza una versión no compatible del SDK de Apache Beam para Python (2.3.0). Actualiza a la versión más reciente del SDK. Para reanudar temporalmente la tarea interrumpida, usa
gcloud alpha dataflow jobs resume-unsupported-sdk --token=TOKEN --region=REGION JOB_ID
. Ten en cuenta que el trabajo reanudado con este token se interrumpirá de nuevo el 2020-08-28T11:21:58-07:00. Para ver una lista de las versiones del SDK compatibles, consulta https://cloud.google.com/dataflow/support#support-status-for-dataflow-sdk-releases.
Como indica el error, la interrupción se puede mitigar con el comando resume-unsupported-sdk. Reanudar un trabajo interrumpido es una solución temporal. En su lugar, debe actualizar la versión del SDK para evitar que se produzcan más obsolescencias en el futuro.