Azure / Azure/azure-functions-host

VFS: GET during in-flight PUT request returns 2xx code, empty content

Open
#8,463 0 comments 0 reactions 0 assignees View on GitHub
bug enhancement needs-investigation
Dominant language
C#
Stars
2k
Forks
482
Avg merge
2d 12h
Merged PRs (30d)
38

Description

#### Investigative information

This issue is in reference to internal incident 290963910.

#### Repro steps

Note: Portal team deployed a UI patch, so repro should be done programmatically.

1. Send PUT request to a VirtualFileSystem endpoint (e.g. `/admin/vfs/proxies.json`)
2. While PUT request in 2 is in-flight, send a GET request to the same endpoint.

#### Expected behavior

The request in step 2 should return a 200 response and the content of the file (preferred) OR a 4xx/5xx response and no content.

#### Actual behavior

The request in step 2 returns a 2xx response and empty content.

#### Known workarounds

Block GET requests from sending until PUT request completes - this is what portal team's UI patch does.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the race against the VirtualFileSystem endpoint, such as /admin/vfs/proxies.json, with a PUT and overlapping GET. Trace the request handling for concurrent reads and writes. Done means the GET returns the file content or a 4xx/5xx response, never a 2xx response with empty content.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.