Description
TL;DR
Unpin or remove the following libraries from requirements.txt, and do a redeployment.
protobuf
grpcio
grpcio-tools
Background
Recently, we upgraded the function host version to 3.0.15065 for v3. We also upgraded the Python worker from 1.1.6 to 1.1.8, and the change has been deployed to production on November 16, 2020.
In Python worker release 1.1.7, we now have a higher dependencies on the grpcio libraries (version: 1.33.1). This introduces a potential issue to function apps pinning protobuf, grpcio, grpcio-tools to old versions.
Root Cause
Since we prioritize customer's libraries before loading the Python workers dependency, an old version of protobuf has an issue parsing the new descriptor.
How to Mitigate
Please confirm if your function app does require grpcio, grpcio-tools, or the protobuf libraries.
- If it does, please unpin these libraries by replacing the "==" sign to ">=" in youre requirements.txt
- If it doesn't, please remove the lines defining grpcio, grpcio-tools and protobuf in your requirements.txt
After that, do a redeployment to Azure Functions and the issue should be resolved.
Sorry for the inconvenience, if you have more questions related to this issue, please let me know and comment below.