🔥 HAPI FHIR - Java API for HL7 FHIR Clients and Servers
Go to file
Luke deGruchy 5831cbedf5
Concurrent cascade delete operations leading to confusing errors (#4126)
* Add unit tests and supporting classes from gitlab issue.

* Commit with changes thus far to be reviewed.   Namely, add savepoint capabilities to HapiTransactionService, inject HapiTransactionService into CascadingDeleteInterceptor, add savepoint capabilities to the TransactionDetails, and catch an Exception in BaseHapiFhirResourceDao.delete() then rollback to the checkpoint.

* Fix compile error.

* hapi transaction service test

* hapi transaction service test

* hapi transaction service test

* First draft of RetryTemplate and flush() logic.  Try unit testing with PointcutLatch.

* hapi transaction service test

* Latest changes including moving RetryTemplate, cleaning up unit tests.

* First attempt at correct design.  Fix compile errors.

* Add failed rollback savepoint test.

* fix propogation

* interesting test failure in SafeDeleterTest

* Latest code

* move delete

* test passing

* all tests pass

* yay we're done just cleanup

* First round of cleanup:  Get rid of all exploratory logging, remove unneeded dependencies, move creation of RetryTemplate to SafeDeleter.

* More cleanup.  Add changelog.

* Bump to 6.2.0-PRE13-SNAPSHOT.

* Code review feedback:  Refactor SafeDeleter to a service and bean.  Add comments.

* Code review feedback:  Comments on unit test assertions.

* Code review feedback:  Rename SafeDeleterSvc to ThreadSafeResourceDeleterSvc.  Add javadoc.  Add logger to DelayListener.   Remove useless commented out code.

* Fix unit test failure in CascadingDeleteInterceptorTest.

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-10-11 16:48:01 -04:00
.github bump compiler settings. JDK 11 for prod, JDK 17 for tests (#3435) 2022-02-28 21:51:32 +00:00
.mvn/wrapper Update and fix maven wrapper (#2847) 2021-11-03 11:21:49 -04:00
.mvn_/wrapper Bump core to latest versions (#2154) 2020-11-03 15:43:37 -05:00
hapi-deployable-pom Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-android Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-android-realm Work on JPA 2017-02-02 06:23:28 -05:00
hapi-fhir-base Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-batch Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-bom Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-checkstyle Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-cli Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-client Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-client-okhttp Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-converter Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-dist Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-docs Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jacoco Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jaxrsserver-base Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpa Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-base Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-cql Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-elastic-test-utilities Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-mdm Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-model Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-searchparam Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-subscription Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-test-dstu2 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-test-dstu3 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-test-r4 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-test-r5 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-test-utilities Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-jpaserver-uhnfhirtest Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-server Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-server-mdm Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-server-openapi Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-spring-boot Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-sql-migrate Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-storage Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-storage-batch2 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-storage-batch2-jobs Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-storage-mdm Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-storage-test-utilities Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-structures-dstu2 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-structures-dstu2.1 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-structures-dstu3 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-structures-hl7org-dstu2 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-structures-r4 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-structures-r5 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-test-utilities Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-testpage-overlay Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-validation Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-validation-resources-dstu2 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-validation-resources-dstu2.1 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-validation-resources-dstu3 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-validation-resources-r4 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-fhir-validation-resources-r5 Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-tinder-plugin Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
hapi-tinder-test Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
osgi encode narratives of contained resources (#3402) 2022-02-17 18:54:03 +00:00
src Reduce SQL queries for _include (#4007) 2022-09-25 15:22:06 -04:00
tests Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
vagrant Bump dependencies for CVES (#3359) 2022-02-07 07:56:25 -05:00
.editorconfig Add framework for Bulk Import (#2538) 2021-04-14 17:41:32 -04:00
.gitignore fixed bug (#4069) 2022-09-26 13:43:11 +00:00
.whitesource Add .whitesource configuration file 2021-04-29 13:42:31 +00:00
HELPWANTED.md Work on custom params 2017-02-02 20:37:58 -05:00
LICENSE.txt Add license and notice files 2015-03-25 22:32:32 -04:00
LOINC_NOTES.txt More work on loinc 2018-03-19 08:51:02 -04:00
NOTICE.txt Add license and notice files 2015-03-25 22:32:32 -04:00
README.md Improve batch2 error handling (#3482) 2022-03-26 17:40:12 -04:00
azure-pipelines.yml remove spring batch (#4064) 2022-09-30 13:18:48 -04:00
check_for_maven_updates.sh Fix up examples 2014-09-03 18:03:44 -04:00
lgtm.yml Refactor to restore LGTM functionality (#3455) 2022-04-10 15:54:27 -04:00
list_releases.sh Implement handleException on the server interceptor framework, as well 2014-11-07 14:26:59 -05:00
mvnw Update and fix maven wrapper (#2847) 2021-11-03 11:21:49 -04:00
mvnw.cmd Update and fix maven wrapper (#2847) 2021-11-03 11:21:49 -04:00
pom.xml Concurrent cascade delete operations leading to confusing errors (#4126) 2022-10-11 16:48:01 -04:00
release-pipeline.yml Adding full test run to Release Pipeline 2022-06-29 16:25:35 -04:00
snapshot-pipeline.yml Updated GPG keys for signing. 2022-05-30 11:23:53 -04:00
sync.sh Update resource defs 2015-12-01 18:35:24 -05:00
sync_dstu3.sh Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2016-07-01 14:31:25 -04:00
sync_ri.sh Bump to 1.0.2 FHIR definitions 2015-11-15 12:22:56 -05:00
sync_ri3.fish Bring DSTU3 structs up to FHIR R3 2017-04-18 07:48:38 -04:00
sync_ri3.sh Syn RI - Build still failing :( 2016-05-28 12:53:59 -04:00
sync_ri4.sh Squashed commit of the following: 2018-12-27 17:58:47 -05:00
sync_ri5.sh Bump core to latest versions (#2154) 2020-11-03 15:43:37 -05:00
sync_ri21.sh Update model and definitions to latest definitions 2016-01-30 11:08:16 -05:00
test-job-template.yml changing fetch depth to 1 (#4056) 2022-09-21 20:08:49 -04:00
update_version.sh Force another travis build 2015-08-05 10:38:38 -04:00

README.md

HAPI FHIR

HAPI FHIR - Java API for HL7 FHIR Clients and Servers

License

CI/CD

CI Status (master) SNAPSHOT Pipeline Current Release
Build Status Build Status Release Artifacts

Coverage and Quality

codecov Language grade: Java

Documentation and wiki

Complete project documentation is available here: http://hapifhir.io

A demonstration of this project is available here: http://hapi.fhir.org/

This project is Open Source, licensed under the Apache Software License 2.0.

Please see this wiki page for information on where to get help with HAPI FHIR.

Please see Smile CDR for information on commercial support.