hyperstack-org / hyperstack-org/hyperstack
QueuedMessages from unsent/expired Connections are getting left in the database
- 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
Evaluación
Este issue todavía no se ha evaluado.