hyperstack-org / hyperstack-org/hyperstack

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

Aberta
#318 0 comentários 0 reações 0 responsáveis Ver no GitHub
performance
Linguagem predominante
JavaScript
Estrelas
538
Forks
41
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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.

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.