FHIR-Repositories, mit der 40001-sicheren Version

Featurekamo-shared-library
Verschifft
25. August 2026 um 15:03 UTC
Autor
Kamo
Ausschuss
2be051e

behauptenNextVersion ist ein UPDATE ... SET current_version_id = current_version_id + 1 und muss die erste Erklärung einer Schreibtransaktion sein. Das Offensichtliche alternative - die aktuelle Version lesen, eine hinzufügen, schreiben Sie read-after-write innerhalb einer Transaktion, mit der YugabyteDB abtreibt SQLSTATE 40001 unter Concurrency. Es scheitert unregelmäßig, so dass es präsentiert als zufällige Sackgasse, und eine Retry-Schleife scheint es zu beheben, während der Behebung nichts: der Retry hat die gleiche Form und gewinnt das Rennen öfter. Die UPDATE nimmt auch die Sperre und liest in einer Rundreise, die eine ist weniger als das, was es ersetzt. findClaimedVersion liest in der gleichen Transaktion zurück und ist trotz sicher dass Warnung, weil die UPDATE bereits nahm die Zeile Schloss read-restart-Problem ist über Zeilen eine andere Transaktion kann unter Ihnen bewegen. Die Ressourcensuche gibt absichtlich DELETED-Ressourcen zurück. Ein Anrufer muss tell "nie existierte" (404) von "gelöscht" (410 Vorbei) und FHIR erfordert eine gelöschte Ressource zu halten Beantwortung Vread und _Geschichte; Filterung sie hier würde das unmöglich eine Schicht nach oben machen. FhirResourceVersionRepository erklärt NO Löschen und NO-Update, und ein Test erzwingt, dass sie nie eine gewinnt. Das Unternehmen lehnt beides durch @PreRemove/@PreUpdate - aber das sind ENTITY CALLBACKS, und eine Frühlingsdaten abgeleitete delete kompiliert zu Bulk JPQL, die sie vollständig umgeht. Ein solches Methode würde klinische Geschichte still löschen, während das Unternehmen eigene Schutz nie gefeuert. Nicht zu erklären ist der eigentliche Schutz, und das ist eine Entscheidung, die kein Compiler durchsetzt. Geschichte und Reprojektion Lesungen sind beide Seiten, weil eine aktiv geändert Diagramm sammelt Versionen und eine grenzenlose Lektüre ist ungebunden genau dort es tut am meisten weh. SharedLibBeanSafetyTest geht noch durch: Repositories sind Schnittstellen, und keine Stereotyp Beine wurde der Bibliothek hinzugefügt. 1655 Tests grün.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen