Liquibase Doppelt überprüftes Sperrmuster? (Stellen Sie sicher, dass Liquibase keine Sperre erhält, wenn alles auf dem n

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Liquibase Doppelt überprüftes Sperrmuster? (Stellen Sie sicher, dass Liquibase keine Sperre erhält, wenn alles auf dem n

by Guest » 25 Jan 2025, 17:14

Wenn eine Anwendung abstürzt (OOM / Stromausfall / Kill -9), nachdem liquibase eine Sperre erworben hat, die Sperre jedoch vor dem Aufheben der Sperre aufgehoben wurde, bleibt die Sperre für immer in der Tabelle „databasechangeloglock“ und wir müssen sie manuell entfernen it.
Ich frage mich, ob es möglich ist, die Anwendung mit liquibase dazu zu zwingen, Folgendes zu tun:
  • Überprüfen Sie, ob dies erforderlich ist Wenden Sie alle Änderungssätze an, OHNE sie zu übernehmen ein Schloss
  • Wenn ja, besorgen Sie sich das Schloss, überprüfen Sie die Notwendigkeit erneut und so weiter wie gewohnt. Wenn alles auf dem neuesten Stand ist, keine Sperre erwerben und mit dem Boot-Strap fortfahren.
Ich möchte, dass die Anwendung beschleunigt wird Bootstrap (wenn es keine neuen Migrationen gibt) und verringert die Wahrscheinlichkeit, dass die Sperre im Datenbank-Changeloglock hängen bleibt.
Derzeit erstelle ich nur eine liquibase.integration.spring.SpringLiquibase Frühlingsbohne. Ich gehe davon aus, dass ich eine benutzerdefinierte, knifflige @ConditionalOn...-Annotation erstellen muss

Top