FHIR リソースリポジトリ、40001 安全バージョン クレーム付き

Featurekamo-shared-library
出荷済み
2026年8月25日 15:03 UTC
プロフィール
Kamo
コンテンツ
2be051e

responseNextVersion は UPDATE ... SET current version id = current version id です。 + 1 書き込みトランザクションの FIRST ステートメントでなければなりません。 明らかな 代替 — 現在のバージョンを読み、 1 つを追加、書き込み — は YugabyteDB が 1 つのトランザクション内で読み直後の書き込みを行います。 並行して40001をSQLSTATE。 断続的に失敗するので、 ランダムなデッドロックとして、リトライループは固定中に固定するように見えます 何も: 再試行は同じ形状を持ち、より頻繁にレースを獲得します。 UPDATEはロックをとり、1ラウンドトリップで読みます。 交換するものよりも少ない。 findClaimedVersion は同じトランザクションで読み返し、安全です。 UPDATEがすでに行のロックを取ったので、その警告は、 read-restart の問題は、他のトランザクションの行が移動する可能性があります。 リソースルックアップは意図的に DELETED リソースを返します。 呼び出し側は、 "deleted" (410 Gone) から "never presented" (404) と FHIR は vread と history に応答し続けるために削除されたリソース; ここでそれらをフィルタリング 不可能なレイヤーを1層アップさせる。 FhirResourceVersionRepository は、削除と更新なし、テストを宣言しません 誰が利益をもたらさないことを強制します。 組織は両方を通すことを拒否します @PreRemove/@PreUpdate — しかし、これらはエンティティ・カルバックスであり、春のデータ 得られた削除は、それらを完全にバイパスするバルクJPQLにコンパイルします。 こんな感じ メソッドは、エンティティティティティが所有している間、臨床的な歴史を静かに消去する 防火なし。 1 つを宣言しないのは実際の保護であり、 それがコンパイラが強制するという決定ではありません。 歴史とリプロジェクションの読み物は、積極的に変更されるため、両方のページが作成されます。 チャートは、バージョンを蓄積し、アンバウンドされていない読み取りが正確にどこへもアンバウンドされていない それは最も傷つけます。 SharedLibBeanSafety(リブ・ビーンズ) テストはまだ渡します: リポジトリはインターフェイスであり、いいえ ライブラリにステレオタイプのビーンを追加しました。 1655 は緑をテストします.

すべての変更

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

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

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