Das gleiche passiert im abgesicherten Modus (ich habe ohnehin keine benutzerdefinierten Themes oder Plugins, außer data-explorer), Version 2.6.0.beta2
Mein Server läuft unter Ubuntu 18, verfügt über 4 vCPU, 8 GB RAM und 160 GB Festplattenspeicher.
Vielleicht 20–30 Sekunden? Außerdem tritt das Problem beim Umbenennen anderer Kategorien nicht auf.
Edit: Tritt auch auf meinem Entwicklungsf-Forum auf (ziemlich leistungsstarker Rechner mit Ubuntu-Subsystem).
Re-Edit:
Das Aufteilen in kleinere Batches scheint zu funktionieren. Discourse scheint also Probleme damit zu haben, mehr als 3000 Themen zu verschieben, selbst auf einem leistungsstärkeren Server (ich habe auf 16 vCPU / 32 GB hochgerüstet). Ich vermute daher, dass dieses Problem etwas anderes ist als das Umbenennen meiner Kategorien. Das Umbenennen der Kategorie ist mir dennoch nicht gelungen.
Ich habe eine neue Kategorie B erstellt (die ich nach Belieben umbenennen kann), alle Themen aus Kategorie A (die ich nicht umbenennen kann) in Kategorie B verschoben: Danach kann ich Kategorie B nicht mehr umbenennen, dafür aber Kategorie A.
Ich habe versucht, meine Kategorien umbenennen, indem ich jedes Mal eine Kategorie mit mehr Beiträgen auswählte. Kategorien mit mehr Inhalten (mehr Beiträge, größere Themen) scheinen länger zum Umbenennen zu benötigen.
Es gibt zwei Kategorien, die ich nicht umbenennen kann (es scheint wirklich zu lange zu dauern…):
30 Sekunden sind das Nginx-Timeout, das ergibt also Sinn. Es braucht einfach etwas mehr Zeit als das.
Wenn ich du wäre, würde ich das über eine Rails-Konsole versuchen.
Ich habe gedacht, man macht es so, war mir aber nicht sicher, ob das sicher ist: Ich frage mich, warum es so lange dauert, nur einen Kategoriennamen in Discourse zu ändern
Muss es Dinge prüfen, an die ich nicht denke?
Offenbar
Ich vermute, es berechnet einige Statistiken neu. Du könntest eine Verbindung zu Postgres herstellen und folgenden Befehl ausführen:
SELECT pid, age(query_start, clock_timestamp()), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
Da ich dasselbe Problem auf meiner lokalen Entwicklungsumgebung auf meinem Heimcomputer habe, habe ich es auf meinem Dev-Forum versucht.
Ich habe versucht, den Kategorienamen über die Discourse-Oberfläche zu ändern. Der in meinem ersten Beitrag gezeigte Fehler trat auf, und mein RAM wurde voll:
Update: Ich habe versucht, eine Kategorie auf meinem anderen, live Forum umzubenennen (andere Daten/Server/Betriebssystem usw., aber dieselbe Discourse-Version).
Das Ändern eines Kategoriennamens ist langsam (~10 s). Ich habe es mehrfach versucht und dabei auch einmal einen 502-Fehler erhalten.
Ich habe das Gefühl, dass dies ein Problem von Discourse ist, möglicherweise im Zusammenhang mit einem kürzlich durchgeführten Update?
Beide Foren nutzen Version 2.6.0.beta2.
Könnte jemand versuchen, einen Kategoriennamen (eine Kategorie mit Tausenden oder Zehntausenden von Themen) auf seinem eigenen Forum mit derselben Discourse-Version zu ändern, um zu prüfen, ob dies langsam ist oder einen 502-Fehler auslöst?
Ich erinnere mich nicht daran, auf meinem vorherigen Forum (das ebenfalls importiert wurde) einen 502-Fehler gehabt zu haben, aber ich habe seit dem Import vor 3 Jahren keine Kategorie mehr umbenannt. Ich weiß nicht mehr, ob das Umbenennen einer Kategorie langsam war.
Was mein neues, größeres Forum betrifft: Es wurde auf der Discourse-Version importiert, die ich erwähne, daher kann ich keinen Vergleich mit einer älteren Version anstellen.
Nur eine Korrektur dazu: Ich glaube, ich habe zuvor Category.where(id: 21).update(name: "General") für eine Kategorie ausgeführt, aus der ich die Themen entfernt oder ähnliches gemacht habe, da ich diesen Befehl gerade mehrfach bei verschiedenen Kategorien verwenden musste. Es scheint, dass die Dauer des Befehls proportional zur Anzahl der Beiträge in der Zielkategorie ist.
Im Grunde ist es also dasselbe Problem wie beim Aktualisieren der Kategorie über die Oberfläche, nur dass es in der Kommandozeile nicht zu einem Timeout kommt.
Bei einer Kategorie mit mehr als 30.000 Themen dauerte es vielleicht eine Minute, bei einer mit mehr als 15.000 Themen etwa 30 Sekunden, und bei Kategorien mit wenigen Themen war es schnell.
Unser Forum ist in den letzten 6 Monaten zunehmend fehleranfällig geworden. Ich habe gerade die Serverressourcen verdoppelt (16 CPUs, 64 GB RAM), und obwohl es nun deutlich besser läuft, habe ich einen reproduzierbaren Fehler festgestellt.
Der Versuch, eine Kategorie umzubenennen, führt jedes Mal zu einem 502-Fehler.
Hast du die Einstellungen in der app.yml entsprechend angepasst?
Du solltest in den Logs nachsehen, ob du einen Hinweis findest. Gibt es etwas Besonderes an dieser Kategorie? Vielleicht hast du eine Datenbankindex-Korruption?"}
Meinst du damit einfach, dass man unter forumwebsite.com/logs nachsieht? Ich sehe keine Fehler, die sich spezifisch auf das Umbenennen einer Kategorie beziehen.
Ich sehe viele Einträge in „Info“, aber wiederum nichts Spezifisches für diese Aktion.
Sollte ich versuchen, irgendeinen Fehler zu beheben?