Lock and Unlock Nodes Error Handling

  • SIGTERM Handling: If the flow receives an abort request (e.g., a Kubernetes-initiated shutdown due to resource issues), the internal signal handler will handle it. If any instance is waiting in the Lock node, the operation will abort, the flow will fail, and the executor will shut down gracefully.
  • SIGKILL Handling: If a flow crashes or is terminated with SIGKILL while holding a global lock in a distributed environment, the lock will remain in a locked state. New REST API calls are available, allowing users to query and manually release locks to clean up and recover after this catastrophic error. The new REST APIs are:
    • GET /v2/locks (to get locks)
    • DELETE /v2/locks (release all locks)
    • DELETE /v2/locks/{lock_name} (release a specific lock)