Description
I have an HttpTrigger function that receives multipart/form-data content. When a file greater than 4MB is passed to the function it errors out with 502 - Web server received an invalid response while acting as a gateway or proxy server
. In the Azure logs I see Exception of type 'System.OutOfMemoryException' was thrown.
When I run the function locally I don't have any problems processing a larger file. I have only see the error occur when I run the deployed function. I found a closed issue that seems related #70
Investigative information
- Timestamp: 2018-12-14T16:19:00.832
- Invocation ID: Id=99214fd3-9aff-4238-9dba-f50bc77b6128
- Region: West US
- Function Runtime Version: 2.0.12210.0
- azure-functions-java-library version: 1.2.0
- azure-functions-maven-plugin version: 1.2.0
Repro steps
- Run the function with a file that is larger than 4 MB.
Expected behavior
Function does not timeout on larger files.
Actual behavior
Deployed function is not executed and error out with an OutOfMemory exception and returns 502 - Web server received an invalid response while acting as a gateway or proxy server.
Known workarounds
None.
Related information
Here is a snippet of the function having the issue:
Source
@FunctionName("BitSplit")
public HttpResponseMessage bitSplit(
@HttpTrigger(name = "content", methods = {HttpMethod.POST}, authLevel = AuthorizationLevel.FUNCTION, dataType = "binary") HttpRequestMessage<Optional<Byte[]>> request,
final ExecutionContext context
) {
try {
RequestContextWrapper requestContext = new RequestContextWrapper(request);
MultipartProcessor multipartProcessor = new MultipartProcessor();
List<FileItemStreamWrapper> formItems = multipartProcessor.readFormData(requestContext);
}