blaze icon indicating copy to clipboard operation
blaze copied to clipboard

Consider a max wait in pool manager

Open rossabaker opened this issue 8 years ago • 5 comments

http4s/http4s#796 was a bug, but it's too easy to deadlock a server. We should consider a timer so borrows don't hang indefinitely for the next time we or our an app does something stupid.

rossabaker avatar Jan 05 '17 05:01 rossabaker

What type of timer? One for connections, thread pool, or something else?

bryce-anderson avatar Jan 06 '17 02:01 bryce-anderson

Connections. If it takes you N seconds to borrow a connection, the request fails and the borrow is canceled.

rossabaker avatar Jan 06 '17 03:01 rossabaker

Is this not addressed by connectTimeout?

final class ClientChannelFactory(
    bufferSize: Int = DefaultBufferSize,
    group: Option[AsynchronousChannelGroup] = None,
    channelOptions: ChannelOptions = ChannelOptions.DefaultOptions,
    scheduler: TickWheelExecutor = Execution.scheduler,
    connectTimeout: Duration = Duration.Inf)

vasilmkd avatar Apr 18 '21 22:04 vasilmkd

I don't think so. I think connectTimeout starts ticking when a connection has been obtained.

rossabaker avatar Apr 19 '21 03:04 rossabaker

Thanks for clarifying.

vasilmkd avatar Apr 19 '21 08:04 vasilmkd