The HTTP report processor currently does not timeout if the endpoint does not reply.
This has the effect that a JRuby is tied up indefinitely, and not returned to the pool. This can quickly tie up all available JRubies and prevent further work being done by the puppetserver process.
If the report processor hangs, takes too long, agent runs (every 30 minutes) will start to run over each other. My preference would be to implement whatever timeout Charlie Sharpsteen recommends. If the report processor actually takes more than 30 minutes to process the report, then something is very wrong with the puppet infrastructure.
my worry was if users were doing something strange like streaming data over HTTP2 but now my understanding is this is communication between our systems, it should have a deterministic duration