Remapping schlägt wegen Deadlock fehl

Ich habe eine große Datenbank (9,2 Millionen Beiträge) mit einer Reihe von Mega-Themen (einige mit über 150.000 Beiträgen!). Wenn ich versuche, eine Wiederherstellung auf einem anderen Server durchzuführen, erhalte ich während der Neuverteilung auf einen neuen Hostnamen eine Meldung wie diese:

Wiederherstellung der Uploads, dies kann eine Weile dauern...
Optimierung der Site-Icons...
Die Beiträge werden von einem Hintergrundjob in Sidekiq neu gebacken. Bis dies abgeschlossen ist, werden fehlende Bilder angezeigt.
Sie können den Prozess beschleunigen, indem Sie manuell "rake posts:rebake_uncooked_posts" ausführen.
EXCEPTION: ERROR: Deadlock erkannt
DETAIL: Prozess 960 wartet auf ShareLock für Transaktion 4765; blockiert durch Prozess 2184.
Prozess 2184 wartet auf ShareLock für Transaktion 4915; blockiert durch Prozess 960.
HINWEIS: Siehe Server-Protokoll für Abfrage-Details.
KONTEXT: Beim Aktualisieren des Tupels (566294,13) in der Relation "posts"

Gibt es etwas, das ich tun kann, um diesen Deadlock zu beheben?

Dies geschah auf einem Standard-Droplet mit 8 GB RAM.

Beim Versuch, eine Neubearbeitung durchzuführen, hatte ich ein ähnliches Problem mit dieser Site auf einem relativ schnellen Datenbankserver mit 16 GB RAM und einem separaten Webserver mit ebenfalls 16 GB RAM. Beide bedienten auch einige andere relativ kleine und wenig frequentierte Sites.

Scheint es wahrscheinlich, dass es an den Mega-Themen liegt? Gibt es eine Lösung, die nicht darin besteht, sie in kleinere zu unterteilen?

Es ist viel einfacher, wenn Sie die Web- und Sidekiq-Prozesse während der Remap-Phase stoppen, damit keine konkurrierenden Sperren auftreten.

Vielen Dank! Das hat es behoben. Und so selbstverständlich, sobald du es vorgeschlagen hast.

Entschuldigung, dass ich das anspreche, aber wir haben dasselbe Problem.

Wie kann man die Web- und Sidekiq-Prozesse stoppen?

Da du eine Entwicklungsumgebung verwendest, gibst du einfach Strg+C ein.

Wie stoppen wir es in Docker?

  sv stop unicorn
  sv stop sidekiq

Unicorn ist der Webserver, oder?