J’ai un utilisateur qui signale recevoir des erreurs 500 « lors de l’affichage de publications aléatoires ». En examinant les journaux, je ne vois que ces entrées, qui semblent affecter uniquement cet utilisateur. Il s’agit d’une installation standard à jour avec PG13. Je ne constate pas ces erreurs pour les autres utilisateurs. Elles semblent toutes concerner private_messages, ce qui ne correspond pas vraiment à des « publications aléatoires ». En recherchant cette erreur, je trouve quelques publications datant d’un an affirmant qu’il s’agit d’un bug PostgreSQL.
Discourse 2.8.0.beta6 - https://github.com/discourse/discourse version 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
)
Il s’agit effectivement d’un bug PostgreSQL résolu dans la dernière version mineure. Pouvez-vous procéder à une reconstruction ? Cela mettra à jour PostgreSQL vers la dernière version mineure.
Puisque j’y suis, recommanderiez-vous d’effectuer un VACUUM et une reconstruction concurrente des index lors de cette mise à jour mineure ? Je le fais lors de la mise à jour vers la version majeure 13. Est-ce inutile, pas une mauvaise idée ou superflu pour cette mise à jour mineure ?