Ho un utente che segnala errori 500 “mentre visualizza post casuali”. Esaminando i log, vedo solo questi, che sembrano interessare solo questo utente. Si tratta di un’installazione standard aggiornata a PG13. Non riscontro questi errori per nessun altro utente. Tutti sembrano riguardare private_messages, il che non sembra corrispondere a “post casuali”. Cercando quell’errore, trovo alcuni post di un anno fa che affermano che si tratta di un bug di postgres.
Discourse 2.8.0.beta6 - https://github.com/discourse/discourse versione f513266bcbc03eedebda17695b8a7ffbcad6ebcc
Started GET "/u/joe/private-message-topic-tracking-state" for 82.71.0.62 at 2021-10-07 07:08:25 +0000
Processing by UsersController#private_message_topic_tracking_state as JSON
Parameters: {"username"=>"joe"}
Completed 500 Internal Server Error in 70ms (ActiveRecord: 0.0ms | Allocations: 1952)
PG::InternalError (ERROR: subplan "SubPlan 2" was not initialized
CONTEXT: parallel worker
)
Si tratta effettivamente di un bug di PostgreSQL risolto nell’ultima versione minore. Puoi eseguire una ricompilazione? Questo aggiornerà PostgreSQL all’ultima versione minore.
Visto che ci siamo, consiglieresti di eseguire un VACUUM e una ricostruzione concorrente degli indici durante questo aggiornamento minore? Io lo faccio quando si passa a una versione maggiore, come la 13. Per un aggiornamento minore è inutile, non è una cattiva idea o è superfluo?