Skip to content
This repository was archived by the owner on Feb 2, 2023. It is now read-only.

limit handler runtime. #1039

@fisx

Description

@fisx

there was one production event where the server started to timeout on any request. the log file didn't contain anything interesting, so i restarted the server. the log file then contained the lines:

2017-11-07 11:48:16.536592 UTC [INFO] user interrupt
2017-11-07 11:48:16.536661 UTC [INFO] shutdown.

it seems like there are possible (if rare) situations in which the servant handler blocks the acid-state mvar indefinitely for one request, which in turn blocks all other requests form being handled.

it would be good to have a hard timeout wrapped around the entire api. the timeout handler needs to make sure that the acid-state mvar lock is released. this would not fix the issue that some request was blocking instead of returning an error, but it would make the effect acceptable (err500 for one user instead of freezing the entire instance).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions