hyperstack-org / hyperstack-org/hyperstack

QueuedMessages from unsent/expired Connections are getting left in the database

Abierto
#318 0 comentarios 0 reacciones 0 asignados Ver en GitHub
performance
Lenguaje dominante
JavaScript
Estrellas
538
Forks
41
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Lately I've noticed poor performance in our production database for the Hyperstack tables, and noticed we had about 400K QueuedMessages in the table. Upon looking in the code, I found this:

```ruby
# hyper-operation/lib/hyper-operation/transport/connection.rb:111
expired.delete_all

# hyper-operation/lib/hyper-operation/transport/connection.rb:173
inactive.delete_all
```

ActiveRecord `delete_all` does not run callbacks, so the dependent QueuedMessages are not being destroyed when the Connection is. This should be changed to `destroy_all` so that the QueuedMessages don't get left in the database and accumulate.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.