rails kann die postgres-Datenbank nicht wiederherstellen

8

Ich habe eine Rails-App (4.1.5), die von einer postgres-Datenbank (9.2.13) unterstützt wird, mit dem PG-Gem (0.17.1), Unicorn-Server (1.1.0) mit 2 Worker-Prozessen.

Die App rails führt Jobs mit sidekiq (2.17.7)

aus

Irgendwann ging die postgres db in den Wiederherstellungsmodus. Der folgende Fehler wurde von mehreren Jobs ausgelöst:

%Vor%

Die Datenbank wurde wiederhergestellt, aber die Jobs verursachten weiterhin die folgenden zwei Fehler:

%Vor%

und

%Vor%

Es sieht so aus, als ob rails merkt, dass die Verbindung nicht aktiv ist und versucht, die Verbindung zurückzusetzen. Im Postgresql_adapter.rb des aktiven Datensatzes wird die folgende Methode aufgerufen:

%Vor%

Ich nehme an, dass connection.reset nicht wirklich funktioniert. Wenn also der pg gem die Kodierung setzt (der erste Teil der Methode configure_connection), maskiert er die Tatsache, dass keine Verbindung besteht, indem er den kodierungsspezifischen Fehler auslöst .

Das Folgende ist eine Methode aus dem pg gem (.17.1) ext / pg_connection.c / 2804

%Vor%

Wenn also diese Vermutungen richtig sind, warum funktioniert die Verbindung nicht? Neustarten der App stellt die Verbindung zur Datenbank wieder her, aber ich hoffe auf eine nicht-manuelle Lösung für dieses Problem.

    
Knut Knutson 29.12.2015, 15:45
quelle

0 Antworten