yesodweb / yesodweb/persistent

Regression since bumping resource-pool from `0.4.0.0` to `0.5.x`

Open
#1,636 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Haskell
Stars
486
Forks
306
PR merge metrics
No merged PRs in 30d

Description

Resource pool while fixing a bug introduced a couple behavioural changes in resource destroying:

loggingClose from persistent became no longer safe. It could lead to situations where file descriptor and associated database connection will remain opened while connection declared released by the pool, i.e. leaking fds/sockets. Solution would be to make it explicitly uninterruptible.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating loggingClose and the resource-destruction path in this Haskell repository, then compare the resource-pool 0.4.x and 0.5.x behavior described in the issue. Done means closing is explicitly uninterruptible and the regression is covered by an appropriate test.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.