トランザクション中毒DDLを避け、マルチポッドレースを硬化させます

FixSecurityService
Shipped
2026年4月20日 20:43 UTC
Author
Kamo
Commit
d3249b4

@Transactional syncAll() の内部に DDL を置いた前の自己ヒール。 いつの時 TABLE ADD CONSTRAINTは、既存の制約(最初の後に通常の場合)で消火 ブート、またはマルチポッドのレースでPodを失う)、runIdempotentはJavaを飲みました 例外 — しかし、周囲のDBトランザクションは退屈な状態に残りました。 その後の JPA 呼び出しで `current トランザクションが破棄され、コマンドが トランザクションブロックの終了まで無視され、すべての再起動でPodをダウンします。 変更点: - syncAll() は @Transactional がなくなりました。 各フェーズは、それぞれ単独で動作します。 autonomy: DDL はあらゆる Spring TX の外の記述によって自動コミットします、従って 単一状態の失敗は何でも毒しません。 - UniqueConstraint() が ADD を試みる前に pg constraint を点検し、 そのため、「すでに存在している」エラーは、通常の再起動で火災しません。 - 自己注入(@Lazy self)従って副方法の@Transactional実際に Spring プロキシ (前の this.syncOrgRoleRights() 呼び出しによる火 AOPをバイパスしました。 - 同時ポッドレース解析を文書化:CRDBでシリアル化したDDL DELETEs は、ON CONFLICT DOHING でレースセーフティーを差し込みます.

All changes

配送を見るのが好きですか?

これらのアップデートは、自動的にワークスペースに埋め込まれます。 週1回無料スタートし、週1回生育する.

永遠に無料で始める料金を見る