profusion / apollo-federation-file-upload

Add file upload support to Apollo Federated services.
32 stars 27 forks source link

Allow non chunked transfers #18

Closed cabelitos closed 3 years ago

cabelitos commented 3 years ago

This will help people to disable chunked transfers, even though it's not recommended.

Closes #17

barbieri commented 3 years ago

It works like a charm!!, this is amazing, thank you so much guys, the federated microservice and the WSGI server stopped going nuts!, I will further hit the service to understand memory consumption, but anyway, federation runs containerized, so I dont think this will be a big issue

I highly recommend you to go work on the Python libraries that cause issues. If you can pinpoint them we may have a look, we have python expertise (but no ongoing Python-GraphQL projects, so it will have to be done on spare time).

Problem is that containers are often allocated small amount of memory and nowadays a profile picture can be -- easily -- 8Mb... so you can imagine hundreds of users doing upload to the same gateway will result in gigabytes of memory and OOM will kill the node process.

OTOH streaming we can process a much larger number of requests with low memory consumption as it's streamed -- piece comes in, pice goes out.