Cancellation of HTTP triggers waiting for python language workers does not work

Open
#1,097 4 comments 1 reaction 1 assignee View on GitHub

Nobody has claimed this yet.

Assessment

This issue has not been assessed yet.

Description

area:python-functions new feature
Check for a solution in the Azure portal

For issues in production, please check for a solution to common issues in the Azure portal before opening a bug. In the Azure portal, navigate to your function app, select Diagnose and solve problems from the left, and view relevant dashboards before opening your issue.

Investigative information

Please provide the following:

  • Timestamp: 2021-11-08T16:46:57.915Z
  • Function App version: mcr.microsoft.com/azure-functions/python:3.0-python3.8-appservice
  • Function App name:
  • Function name(s) (as appropriate):
  • Invocation ID: fa416bc3-f801-45db-939a-2145fcef7bee
  • Region: West Europe
Repro steps

Provide the steps required to reproduce the problem:

  1. Create a function app with 2 functions
  2. trigger function 1 that will have a long IO operation and will take the language worker
  3. trigger function 2 which is a HTTP one multiple times and cancel requests before they are handled by language worker
Expected behavior

Provide a description of the expected behavior.

HTTP-triggered Function invocations waiting for language worker should not be processed if client closed the request while function is waiting in queue.

Actual behavior

Provide a description of the actual behavior observed.

HTTP function executes long after client gave up waiting and closed the connection.

Known workarounds

Provide a description of any known workarounds.

In C# we can get a cancellation token from request context. but here the request sits in function host and arrives to python worker afer seconds or minutes. No workaround known.

Related information

Provide any related information

  • Programming language used: Python
  • Links to source: n/a
  • Bindings used: none, HTTP trigger
Dominant language
Python
Stars
357
Forks
116
Avg merge
32m
Merged PRs (30d)
1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Azure/azure-functions-python-worker

All issues in Azure/azure-functions-python-worker

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.