Skip to content

Isolate customer's code from Python worker process #616

@Hazhzeng

Description

@Hazhzeng

Story

Previously, a broken third-party package pmdarima==1.5.1 has a dependency on pathlib==1.0.1. The pathlib library meets end of its life and it collides with Python builtin pathlib library, raising Proxy Path issue when importing customer modules, which breaks our Python worker.

Repro steps

  1. Create a function app with single HttpTrigger.
  2. In requirements.txt, put in a broken library: pathlib==1.0.1
  3. Publish the function app into App Service Plan (which doesn't do placeholder environment reload), the HttpTrigger returns 500, the whole function app is down.

Possible design improvement

Separate Python worker environment from customer's code.
Customer's code should only have effect on their own functions.

This valuable feedback is provided by @AnatoliB

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions