Fehler beim Update auf die aktuell RC

  • Moin Moin,

    nun habe ich es schon 6x versucht und komme immer zum selben Ergebnis. Mein Update schläft fehl, siehe:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Ich habe es dennoch 48h durchlaufen lassen, ohne Erfolg.

    Ich habe einen Server der nur für B1gmail läuft. Aktuell mit:

    PHP: 7.2.34-39+0~20230609.84+debian10~1.gbpf63844
    Server: Apache/2.4.38
    MySQL: 5.5.5-10.3.34-MariaDB-0+deb10u1
    B1gmail: 7.4.0 (PL 2)
    B1gMailserver Version: 2.8.32.83

    Es lief seit ewigkeiten Stabil und ohne großen Aufwand. Allerdings haben wir nun größeres Geplant und brauchen daher das Update. Leider bin ich etwas Ratlos.

    Schonmal vorab vielen Dank für die Hilfe!

    Viele Grüße,
    Philip

  • Hi Sebijk,

    schonmal vielen Dank, das du mir Helfen willst. Ein Screenshot ja klar! Alles ohne Fehler:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

  • Sebijk Wäre es eventuell möglich das Update ohne die Update-Routine, dann aber manuell durchzuführen? Bei manchen Installationen wäre das m.E. die sinnvollere Variante, da man dann die einzelnen Schritte selbst in der Hand hat.

  • Wie ich geschrieben habe denke ich, dass hier ein timeout vorliegt oder das Update ein zweites mal durchgeführt wurde. Ich würde den Punkt für Datenbankoptimierung komplett raus nehmen, dauert bei mir 6 Stunden

  • Wie ich geschrieben habe denke ich, dass hier ein timeout vorliegt oder das Update ein zweites mal durchgeführt wurde. Ich würde den Punkt für Datenbankoptimierung komplett raus nehmen, dauert bei mir 6 Stunden

    Das ist auch mit ein Grund warum ich bislang kein Update gemacht habe. Einen mehrstündigen Ausfall kann ich meinen Kunden nicht zumuten. Deshalb wäre es eben wünschenswert, das Update manuell und ggfls. das DB-Upgrade im Hintergrund ausführen könnte.

  • Ein DB-Update im Hintergrund ist schwierig, da der neue Code ja schon das geänderte Schema vorausetzt. Man müsste die Änderungen dann immer abwärtskompatibel halten und bis zum Abschluss die vorherige Version weiter betreiben. Gerade wenn Backfilling neuer Felder nötig ist, ist das u.U. nicht ganz trivial, da die Daten während des Updatevorgangs weiterhin "lebendig" sind und sich verändern...

    Ein möglicher Schritt zu einem stabileren Update wäre es aber, eine Kommandozeilen-Version des Updaters zu erstellen, die nicht durch Timeouts etc beeinträchtigt wird und nicht von einer Browsersitzung abhängt. Bei etwaigen Fehlern könnte man weiterhin ein Token ausgeben, mit dem die Fortsetzung möglich ist (was auch schon beim Web-Updater eine realisierbare Sache wäre).

  • Ein DB-Update im Hintergrund ist schwierig, da der neue Code ja schon das geänderte Schema vorausetzt. ..

    Verstehe ich. Das DB-Update könnte man aber auch manuell durchführen, wenn man die SQL-Anweisungen zur Verfügung hat. Damit könnte man zumindest den Fortschritt selbst steuern, eventuell ja schon vorbereiten, während man dann das Script updatet.

    Das betrifft Systeme nicht die nur wenige Nutzer haben. Bei mir klingeln sämtliche Kanäle, wenn das System mal ne halbe Stunde nicht zur Verfügug steht.

    • Offizieller Beitrag

    Aktuell hat der Updater einen Bug mit MySQL 8: https://github.com/b1gMail-OSS/b1gMail/issues/2

    Alternativer Weg wäre das Script db_sync.php aufzurufen, siehe auch https://github.com/b1gMail-OSS/b1gMail#staying-up-to-date

    PhiGi vielen Dank für die Screenshots. Also scheint der Fehler woanders zu liegen.

    Versuche mal den alternativen Weg, danach musst du noch diese Querys manuell ausführen: https://github.com/b1gMail-OSS/b1…e.php#L677-L680

    SLM es ist geplant eine CLI Version des updaters zu erstellen. Der aktuelle b1gMail-DB Updater ist ja so gebaut, dass es die DB-Struktur vergleicht und fehlende Felder hinzugefügt. Man kann sich diese auch anzeigen lassen. Dazu schau in die Funktion SyncDBStruct

  • Verstehe ich. Das DB-Update könnte man aber auch manuell durchführen, wenn man die SQL-Anweisungen zur Verfügung hat. Damit könnte man zumindest den Fortschritt selbst steuern, eventuell ja schon vorbereiten, während man dann das Script updatet.

    Das betrifft Systeme nicht die nur wenige Nutzer haben. Bei mir klingeln sämtliche Kanäle, wenn das System mal ne halbe Stunde nicht zur Verfügug steht.

    Oft gibt es leider keine statischen Queries für das Update sondern es handlet sich um kompizierte Logik (z.B. wenn Daten konvertiert werden müssen). Ansonsten stimme ich zu, dass man zumindest für die 'ALTER TABLE'-Queries im Updater auch eine Liste ausgeben könnte.

  • Das ist auch mit ein Grund warum ich bislang kein Update gemacht habe. Einen mehrstündigen Ausfall kann ich meinen Kunden nicht zumuten. Deshalb wäre es eben wünschenswert, das Update manuell und ggfls. das DB-Upgrade im Hintergrund ausführen könnte.

    Ich habe optimize auskommentiert das dauert halt immer, kann man ja danach noch machen, genau wie ich beim user löschen jetzt aktuell die spamindex nicht mit lösche, dauert auch immer. Das letzte mal habe ich die Kisten 0:00 ausgemacht und 05:00 morgens war das update von 7.2 auf 7.4 durch dabei war das lange Update bei b1gmail 7.3 und das auf 7.4 dauert nur paar Minuten, ich weiß ja nicht wie lange es dann auf 7.4.1 dauert aber bestimmt nicht lange

  • Ich habe optimize auskommentiert das dauert halt immer, kann man ja danach noch machen, genau wie ich beim user löschen jetzt aktuell die spamindex nicht mit lösche, dauert auch immer. Das letzte mal habe ich die Kisten 0:00 ausgemacht und 05:00 morgens war das update von 7.2 auf 7.4 durch dabei war das lange Update bei b1gmail 7.3 und das auf 7.4 dauert nur paar Minuten, ich weiß ja nicht wie lange es dann auf 7.4.1 dauert aber bestimmt nicht lange

    Die OPTIMIZE-Schritte kann man auch ruhig komplett aus dem Updater rauswerfen, denke ich. Kann ja jeder selbst entscheiden, wie und wann er mal die Tabellen optimieren lässt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!