loopbackio / loopbackio/loopback-connector-postgresql
Release called on client which has already been released to the pool
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 118
- Forks
- 184
- Merge medio
- 1 d 22 h
- PR fusionados (30 d)
- 5
Descripción
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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en PostgreSQL.prototype.releaseConnection y reproduce el error de commit de la transacción seguido del rollback usando loopback-connector-postgresql 5.5.0. Compara la ruta de rollback con el comportamiento de release de pg-pool; se considera completado cuando el error de release se captura y se propaga sin que el servidor se bloquee.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, nodejs, postgresql
- Área
- backend, databases
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100