Wie wir ein Downgrade von Jira Data Center 8.22.6 auf 8.20.30 ohne Ausfallzeit durchführten

Erfahren Sie, wie wir ein Downgrade von Jira Data Center in AWS von Version 8.22.6 auf 8.20.30 erfolgreich und ohne Ausfallzeit umgesetzt haben – mit Fokus auf Datenbankprüfung und präzisem Node-Management.

Vor Kurzem wurde unser Team mit einer ungewöhnlichen Herausforderung betraut: Ein Jira Data Center in AWS war versehentlich auf Version 8.22.6 aktualisiert worden, obwohl eigentlich 8.20.30 vorgesehen war. Das erforderte ein gezieltes Downgrade – eine Aufgabe, die selten unkompliziert ist, insbesondere wenn keine Ausfallzeit entstehen darf. So haben wir diese komplexe Situation gemeistert:

Schritt 1: Überprüfung möglicher Datenbankinkompatibilitäten

Der erste und womöglich wichtigste Schritt bestand darin sicherzustellen, dass das in Version 8.22.6 eingeführte Datenbankschema keine Inkompatibilitäten aufwies, die ein Zurücksetzen auf 8.20.30 verhindern würden. Durch den Vergleich der entitymodel.xml-Dateien beider Versionen (im Verzeichnis WEB-INF/classes/entitydefs/) konnten wir Änderungen an Tabellen, Spalten, Datentypen und Beziehungen nachvollziehen.

Schritt 2: Datenbankversion zurücksetzen

Anschließend aktualisierten wir die in den Systemeigenschaften von Jira gespeicherte Datenbankversion auf unser Downgrade-Ziel. Der folgende SQL-Befehl wurde ausgeführt:

UPDATE propertystring SET propertyvalue = '820030'
    WHERE id = (SELECT id FROM propertyentry 
        WHERE property_key = 'jira.version.patched');

Damit entsprach der interne Versionsstand von Jira wieder der Zielversion.

Schritt 3: Rückgängig machen von Schema-Änderungen

Auf Basis unseres Vergleichs stellten wir fest, dass wir eine Schemaänderung rückgängig machen mussten, indem wir eine Spalte wieder hinzufügten, die in der höheren Version entfernt worden war:

ALTER TABLE component ADD deleted VARCHAR(10);

Schritt 4: Deaktivierung von AutoScaling-Health-Check

Um zu verhindern, dass AWS AutoScaling die neuen, möglicherweise langsamer startenden Nodes fälschlich beendet, deaktivierten wir die Health Checks vorübergehend.

Schritt 5: Bereinigung der Plugin-Versionen im Shared Home

Wir entfernten alle zur Version 8.22.6 gehörenden Plugin-Artefakte im gemeinsamen Verzeichnis, um Konflikte mit der Downgrade-Version zu vermeiden:

find /media/atl/jira/shared -type f -name "*4.22.6*" -delete && find /media/atl/jira/shared -type f -name "*8.22.6*"- delete

Schritt 6: Anpassung der Jira-Version im Shared Home

Wir setzten die Version in der Datei jira-software.version explizit auf die Zielversion:

echo "8.20.30" > /media/atl/jira/shared/jira-software.version

Schritt 7: Start des Rolling Updates

Nach Abschluss der Vorbereitungen begannen wir mit einem Rolling Update – einer Methode, bei der jeweils nur ein Node aktualisiert wird, um durchgehend Betrieb sicherzustellen.

Schritt 8: Aktualisierung des CloudFormation-Templates

Das AWS CloudFormation-Template wurde angepasst, um die Zielversion 8.20.30 zu verwenden – damit neue Nodes direkt korrekt konfiguriert starten.

Schritt 9–12: Node-Management

Wir führten eine stufenweise Migration durch:

  1. Einen Node abkoppeln und durch einen neuen Node mit Version 8.20.30 ersetzen.
  2. Die verbleibenden Nodes nacheinander stoppen.
  3. Rolling Update über alle Nodes abschließen.
  4. Alle Nodes neu starten, um sicherzustellen, dass sie mit der korrekten Version laufen.

Dank sorgfältiger Planung und exakter Umsetzung konnten wir Jira Data Center erfolgreich von Version 8.22.6 auf 8.20.30 downgraden – und das ganz ohne Ausfallzeit. Diese Erfahrung verdeutlicht, wie wichtig sorgfältige Versionskontrolle und betriebliche Checks beim Management von Unternehmenssoftware in der Cloud sind.

Read more

Effiziente Instandhaltung von Anlagen und Infrastruktur – Mit Service Management zum Erfolg

Effiziente Instandhaltung von Anlagen und Infrastruktur – Mit Service Management zum Erfolg

Die Instandhaltung technischer Anlagen ist in vielen Unternehmen ein kritischer Erfolgsfaktor. Ob in der Energieversorgung, im Bereich Industrieanlagen oder bei Ladeinfrastrukturen – Ausfälle verursachen hohe Kosten, unzufriedene Kunden und riskieren die Betriebssicherheit.

Von Georg Schwarz
Linked-Planetify dein Terminal mit fastfetch

Linked-Planetify dein Terminal mit fastfetch

Fastfetch ist ein CLI-Tool, das Infos über dein System übersichtlich anzeigt. Erinnerst du dich an Neofetch oder davor screenfetch? Neofetch wird leider nicht mehr gepflegt – Fastfetch ist der moderne, anpassbare Nachfolger.

Von Patrick Louis
Sind Deine einzelnen Speziallösungen vielleicht auch wild nebeneinandergereiht?

Service-Management-Plattform vs. Speziallösung – Was ist besser für dein Unternehmen?

Stell dir vor, dein Unternehmen braucht eine Lösung für ein bestimmtes Problem – etwa ein System zur Verwaltung deiner Instandhaltungsprozesse oder eine Plattform zur Registrierung von Besucheranmeldungen. Die erste Suche liefert eine Reihe von Anbietern, die versprechen ...

Von Georg Schwarz
Software-Engineering-Boutique: Warum Expertenteams den Unterschied machen

Software-Engineering-Boutique: Warum Expertenteams den Unterschied machen

Wenn Entscheider nach IT-Dienstleistungen suchen, wenden sie sich oft an große, namhafte IT-Systemhäuser. Diese Herangehensweise rächt sich oft. Häufig ist die gelieferte Leistung mangelhaft, weil die Projekte von nicht ausreichend qualifiziertem Personal umgesetzt werden.

Von Alexander Weickmann