akka/akka-http

Configuration options could use clarification on dependencies between them.

Open

#1,009 opened on Apr 1, 2017

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Scala (1,311 stars) (598 forks)batch import
1 - triagedhelp wantedt:docs

Description

Config options around sizing are a bit confusing right now.

Consider setting up 2 Akka-Http services, A and B, where A makes requests to B for streaming data, say a 20MB file.

Which options would you set?

Akka-Http Client on service A defaults to 4 connections, Akka-Http Server on service B defaults to serving 1024 connections.

You will run into a runtime error if testing with a 5MB file you will be surprised at runtime to find out that a 10MB file will not work due to Max-Content-Length.

What settings will you need to make sure this does not fail with chunk size incorrect errors? What if someone sets the chunk size different on each service?

max-content-length? decode-max-bytes-per-chunk? max-chunk-size?

Which of these are dependent upon which and will break if they are set to incompatible settings?

Do they need to be set in: akka.http.client? akka.http.server? akka.http.pool? akka.http.pool.client? akka.http.parsing? akka.http.client.parsing? akka.http.host-connection-pool.client.parsing?

If you set one and miss another will the service fail at runtime due to incompatible sizes or will it adjust/re-chunk dynamically?

Is there a best practice advice to verify all of these settings are correct and compatible? For example always test with a file at least 2x the size of akka.http.foo.setting?

Contributor guide