loopbackio / loopbackio/loopback-connector-postgresql
Release called on client which has already been released to the pool
Nessuno ha ancora preso questa issue.
- Lingua principale
- JavaScript
- Stelle
- 118
- Fork
- 184
- Merge medio
- 1g 22h
- PR unite (30g)
- 5
Descrizione
Steps to reproduce
- Use loopback-connector-postgresql 5.5.0 (5.4.0 does not exhibit this issue)
- Commit a transaction with an error (ex: unique key violation)
- 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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia da PostgreSQL.prototype.releaseConnection e riproduci l'errore di commit della transazione seguito dal rollback usando loopback-connector-postgresql 5.5.0. Confronta il percorso di rollback con il comportamento di release di pg-pool; il lavoro è completato quando l'errore di release viene intercettato e propagato senza mandare in crash il server.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, nodejs, postgresql
- Ambito
- backend, databases
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100