loopbackio / loopbackio/loopback-connector-postgresql

Release called on client which has already been released to the pool

Ouverte
#493 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug
Langage dominant
JavaScript
Étoiles
118
Forks
184
Merge moyen
1 j 22 h
PR mergées (30 j)
5

Description

Steps to reproduce

  1. Use loopback-connector-postgresql 5.5.0 (5.4.0 does not exhibit this issue)
  2. Commit a transaction with an error (ex: unique key violation)
  3. Rollback the transaction

Current Behavior

Calling transaction.commit and subsequently transaction.rollback if there is a commit error results in:

The following error from pg-pool in the rollback is uncaught and crashes the server: Release called on client which has already been released to the pool

I would expect the error to be caught (perhaps in PostgreSQL.prototype.releaseConnection?) and passed along without crashing the server

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par PostgreSQL.prototype.releaseConnection et reproduisez l’erreur de commit de la transaction suivie du rollback avec loopback-connector-postgresql 5.5.0. Comparez le chemin de rollback avec le comportement de release de pg-pool ; c’est terminé lorsque l’erreur de release est interceptée et transmise sans faire planter le serveur.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, nodejs, postgresql
Domaine
backend, databases
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.