Azure / azure-functions-python-worker

Python worker for Azure Functions.
http://aka.ms/azurefunctions
MIT License
331 stars 100 forks source link

fix: catching unhandled exception for httpv2 / db #1494

Closed hallvictoria closed 1 month ago

hallvictoria commented 1 month ago

Description

When using SDK type bindings, a user might put an invalid connection string setting. There might be a typo in the variable name, or they didn't add it as an app setting. Creating a client will fail and an exception will be thrown from the azure-storage-blob SDK in this scenario. In the invocation request, the except clause will be hit. However, since http_v2_enabled was not yet defined (previously defined after the from_incoming_proto call), another exception will occur. That is an uncaught exception, and the function invocation will time out without any error messaging.

The fix is to move the http_v2_enabled definition to above from_incoming_proto, so that if from_incoming_proto fails http_v2_enabled will be set accordingly and set_http_response can execute.

However, if an exception occurs when setting http_v2_enabled (in get_function or http_v2_enabled), the same issue would occur. Therefore http_v2_enabled is given a default value at the start of the invocation request.

Fixes #


PR information

Quality of Code and Contribution Guidelines