No se pueden ejecutar comandos Notebook después de cancelar la celda de streaming

Problema

Después de cancelar una celda de streaming en ejecución en un bloc de notas conectado a un clúster de Databricks Runtime 5,0, no puede ejecutar los comandos subsiguientes en el cuaderno. Los comandos se mantienen en el estado "en espera de ejecutarse" y debe borrar el estado del cuaderno o desasociar y volver a adjuntar el clúster antes de poder ejecutar los comandos correctamente en el cuaderno.

Tenga en cuenta que este problema solo se produce cuando se cancela una sola celda; no se aplica cuando se ejecutan todas y se cancelan todas las celdas.

Versión

Este problema afecta a los clústeres de Databricks Runtime 5,0. También afecta a los clústeres Databricks Runtime 4,3 cuya configuración de Spark se ha spark.databricks.chauffeur.enableIdleContextTracking establecido en true .

Causa

Databricks Runtime 4,3 presentó una característica de contexto de ejecución inactiva opcional, que está habilitada de forma predeterminada en Databricks Runtime 5,0, que permite que el contexto de ejecución realice un seguimiento de las secuencias de ejecución de streaming para determinar si están inactivas. Desafortunadamente, esto presentó un problema que hace que el contexto de ejecución subyacente se quede en un estado no válido cuando se cancela una celda de transmisión por secuencias. Esto evita que se ejecuten comandos adicionales hasta que se restablezca el estado del Bloc de notas. Este comportamiento es específico de los cuadernos interactivos y no afecta a los trabajos.

Para obtener más información sobre los contextos de ejecución inactivos, vea contextos de ejecución.

Solución

Azure Databricks está trabajando para resolver este problema y publicar una actualización de mantenimiento para Databricks Runtime 5,0. Mientras tanto, puede realizar una de las siguientes acciones:

  • Para corregir un cuaderno afectado sin reiniciar el clúster, vaya al menú Borrar del cuaderno y seleccione Borrar estado:

    no-alternative-text

  • Si el reinicio del clúster es aceptable, puede solucionar el problema desactivando el seguimiento de contexto inactivo. Establezca el siguiente valor de configuración de Spark en el clúster:

    spark.databricks.chauffeur.enableIdleContextTracking false
    

    A continuación, reinicie el clúster.