Commit Graph

185 Commits

Author SHA1 Message Date
David d94627c382
4847 allow filtering batch jobs by status (#4849)
* Add method to get all jobs of a certain status

* add queries

* add tests

* Refactor so extra parameter is not added

* Version bump

* Fix broken test

* Revert accidental change to pom unrelated to version

---------

Co-authored-by: David Chen <david.chen@smilecdr.com>
2023-05-18 14:46:44 -04:00
James Agnew 1c66e57465
Update resource provenance indexing strategy (#4883)
* Add migration

* Update indexes

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/HapiFhirJpaMigrationTasks.java

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>

* Address review comments

* Test fixes

* Test fixes

* Test fix

---------

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
2023-05-18 13:23:57 -04:00
Kevin Dougan SmileCDR 2fd2d95c88
Fixed broken Unit Tester. (#4889)
* Fixed broken Unit Tester.

* Fixed issue with compilation against CDR.

* Fixed an overlay id value in the kotlin pom.xml.
2023-05-15 21:48:29 -04:00
James Agnew 05defb58c5
Server fixes from Connectathon 32 (#4838)
* NPM test cleanup

* fix imports

* Ongoing cleanup

* Rework memory queue

* Reindex cleanup

* Cleanup

* Clean up

* Test fixes

* Test fixes

* Test fixes

* Test fix

* Test fix
2023-05-15 08:28:55 -04:00
James Agnew 483ddca3be
Transaction with delete then update should not fail (#4831)
* Fixed

* Test fixes

* Add test

* Ongoing work

* Work on xactx

* Cleanup

* Changelog cleanup

* Resolve fixme

* Rework broken APIs

* Version bump

* Add license headers

* License header update

* License

* rk on fixes

* Test fixes

* Address review comments

* Test fixes

* Add license headers

* License header
2023-05-15 07:41:40 -04:00
James Agnew 8cf14c8c0e
Dont crash indexing contained references on Bundle (#4881)
* Dont crash indexing contained references on Bundle

* Add changelog
2023-05-14 21:33:32 -04:00
Ken Stevens 4313dc9958
pointcut exceptions (#4822)
* enforce no exceptions on the invoking thread in PointCutLatch

* comment

* Msg.code

* Catch exceptions outside of await block

* fix migration issue

* Refactor PointcutLatch and add tests

* fix tests

* fix tests

* fix tests

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test!

* fix test!

* fix test

* fix test

* clean up latch error formatting

* fix test

* fix test

* fix test

* fix test

* fix test

* fix tests

* fix test

* fix test

* Remove hapi-fhir-jpaserver-uhnfhirtest from build as it is crashing CI

* fix test

* fix intermittent

* A SNAPSHOT dependency on an upstream module was added to HAPI FHIR, which changed and caused some downstream tests to break.

* fix intermittent

* Add Maven enforcer plugin for CR dependencies

* Make maven enforcer conditional on CI builds

* Remove hapi-fhir-jpaserver-uhnfhirtest from build as it is crashing CI

* improve test logging

* pre-review cleanup

* review feedback

* remove hapi-fhir-base-test-jaxrsserver-kotlin from the build

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
Co-authored-by: Jonathan Percival <jonathan.i.percival@gmail.com>
2023-05-11 22:31:38 -04:00
JasonRoberts-smile 0475cb682f
Jr 20230502 fhir patch test coverage (#4841)
* add tests for fhir patch

* extract constants

* extract some methods

* isolate add operation

* isolate delete operation

* isolate replace operation

* isolate move operation

* clean up integer handling

* enumeration creation

* improve variable naming

* code review feedback
2023-05-11 16:40:57 -04:00
Ken Stevens 224b7f6206
SubscriptionTopic part3 (#4817)
* Force Verify tests

* wip

* merge troubleshooting rel_6_6 troubleshooting changes

* fix ITs (#4809)

* fix RestHookTestR5IT

* fix intermittent

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>

* post-merge cleanup

* fix test

* fix mock test

* fix wiring

* fix mock test

* fix test

* use IBaseResource.isDeleted()

* fixmes

* cleanup

* change log

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-05-09 16:29:21 -04:00
Tadgh f0726a32d5
Fixes a bug with tags. (#4813)
* Test, fix

* Drop constraint, add migration

* Add changelog

* Fix userSelected null vs false

* Fix merge

* Fix up checkstyle whining

* One more failure

* Fix test

* wip

* changelog clarity

Co-authored-by: James Agnew <jamesagnew@gmail.com>

* change index

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
2023-05-05 19:06:03 +00:00
James Agnew a3c33d2a53
Add BasicAuditEventLogging (BALP) Interceptor (#4787)
* Begin work on BALP interceptor

* Work on BALP

* Basic profile

* Work on BALP

* Add BALP

* Work on balp

* Add update and delete

* Work on BALP

* Add logging

* Tests

* Modify test server

* Work on docs

* Add documentation

* Add changelog

* Fix #4728 - Typos in docs

* Test fixes

* Move changelog

* Update hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/balp/BalpAuditCaptureInterceptor.java

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>

* Resolve PR comments

* Test fixes

---------

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
2023-05-03 15:46:22 +00:00
Zach Smith 9c1d235f90
Fix operation on nested type-choices in FhirPatch implementation (#4783)
* Fix operation on nested type-choices in FhirPatch implementation

* Add credit for #4783

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2023-05-01 09:52:34 +00:00
Tadgh 9a095cc2d7
version bump for next release (#4793)
* version bump

* Bump to correctnumber

* Version Enum and folder

* Remove interim from list

* wip
2023-04-30 15:01:28 -04:00
Luke deGruchy 79c96dc1bb
Port changes to master from release branch 6_4 (#4785)
* Start porting changes to master that were lost from the release branch.

* Add remainder of tag changes from release branch.

* Changelog changes.

* Fix schema migration.

* Remove duplicate lines.

* Update core to 6.0.1.

* Fixes for new core.

* Bump to snapshot 19 to mirror James' changes.

* Fix migration tasks.

* Fix some of the tests due to the core upgrade.

* Fix rest of tests.
2023-04-28 19:56:02 +00:00
michaelabuckley 81854baa02
Batch2 cleanup (#4779)
Post review batch2 cleanup.

Review fixes and cleanup from #4647

Deleted methods in IJobPersistence unused in prod paths, and replaced their usage in tests.
Lots of docs.
Replace copy-on-write pattern in JobDefinitionRegistry with simple ConcurrentHashMap
Fixed bad mappings from job ERRORED state to external APIs. People think ERRORED is a failed state. ¯\_(ツ)_/¯
Added some spec tests for chunk purging
Deprecated ERRORED. For deleting in 6.8
Lots of plans for 6.8. Too risky for 6.6
2023-04-28 15:44:30 -04:00
James Agnew e2e5ff6bb8
Version bump HAPI FHIR (#4788) 2023-04-28 19:30:51 +00:00
James Agnew 69a79e39a1
Subscription retriggering enhancements (#4758)
* Work on forward porting reindex optimize storage

* Subscription retriggering performance enhancements

* Adjust readmes

* Add a test

* Add test

* Cleanup

* Test cleanup

* Add comment

* Add changelogs

* Test fixes

* Test fixes

* Bump size

* Fixes

* Test logging

* Restore forkcount

* Test fix

* Test fix

* Version bump

* Clean up changelogs

* Address review comment
2023-04-28 12:06:38 -04:00
James Agnew e2717bd63a
Bump corelib to FHIR R5 Final (#4727)
* Core bump

* Build build issues

* Bump core

* Cleanup

* Cleanup

* Resolve intermittent

* Work on core

* Add failing test for a check

* Test fixes

* Fixes

* DOn't mangle subscriptions

* Fix

* License headers

* Build fixes

* Version bump

* Compile fixes

* Fix compile issues
2023-04-28 06:28:22 -04:00
longma1 2171ad04a2
3924 mdm match resources across partitions and storing golden resources on a specific partition (#4770)
* added mdm search all partition for golden resource functionality

* added mdm partition setting

* build header fix

* test fixes and added missing side effect of allowing cross partition links on opeartions

* added changelog, also test fixes

* fixed changelog to an actual yaml file

* review fixes,  also simplified tests

* reverted one test because the original test schenario was correct

* added setting clearing in afterEach method so test dont fail while run in maven

* bump to pre-15

---------

Co-authored-by: Long Ma <long@smilecdr.com>
2023-04-28 02:15:35 -06:00
David 457b39bac1
Fix $mdm clear doesn't expunge golden record resources (#4767)
* Failing test

* Add method to expunge collection of deleted resources

* Failing test passes

* Add changelog

* Version bump

* Forgot to commit change

* Update test

* Check type validity

* Fix broken tests

---------

Co-authored-by: David Chen <david.chen@smilecdr.com>
2023-04-27 21:35:27 -06:00
JasonRoberts-smile ae1e7400dd
delete operation removes element from list (#4782)
* delete operation removes element from list

* changelog
2023-04-28 00:01:28 +00:00
Tadgh 78b3b148ba
Support `_exportId` for bulk exports. (#4781)
* Full implementation, test, changelogs

* Add changelogs

* Add default method

* Update hapi-fhir-storage-batch2-jobs/src/main/java/ca/uhn/fhir/batch2/jobs/export/WriteBinaryStep.java

Co-authored-by: James Agnew <jamesagnew@gmail.com>

* Code Review Comments

* Compilation failures

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2023-04-27 21:46:09 +00:00
James Agnew 855e10a62d
Add post-fetch filtering to bulk export (#4772)
* Add post-fetch filtering to bulk export

* Add changelog

* Add validator

* Test fixes

* Test fix
2023-04-26 17:05:03 -04:00
michaelabuckley 8813d9beda
Batch stabilization (#4647)
* Use java event names for work chunk transitions.

* Cherry-pick d5ebd1f667 from rel_6_4

Avoid fetching work-chunk data (#4622)

* add end time to reduction step (#4640)

* add end time to reduction step

* add changelog

---------

Co-authored-by: Long Ma <long@smilecdr.com>
(cherry picked from commit 37f5e59ffc)

* Cancel processing

Provide error message in cancelled jobs, and avoid transitions in final states.

* Apply tx boundary to starting job and first chunk.

* cleanup

* Apply tx boundary to work chunk processing

* Delete BatchWorkChunk

* Introduce events for job create, and chunk dequeue

* Apply tx boundary to chunk handler

* Move instance cancellation to database

* tx boundary around stats collection and completion

* tx boundary around stats collection and completion

* Extend tx boundary to error, fail, and cancel

* Move failure into status calc

* ERROR is not an "ended" state.

* Revert generics cleanup to avoid noise

* Avoid sending gated chunks twice.

* Make no-data path safer.  Cleanup

* Fix mock test for step advance.

* Delete unsafe updateInstace() call

* Cleanup

* Changelog and notes

* Fix cancel boundary.  Cleanups

* Cleanup

* Sort mongo chunks for stable paging.

Other cleanup

* Document error handling

* Cleanup

* Update hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/test/Batch2JobHelper.java

Co-authored-by: StevenXLi <stevenli_8118@hotmail.com>

---------

Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: StevenXLi <stevenli_8118@hotmail.com>
2023-04-25 15:47:23 -07:00
Tadgh d6d2ff531f
4757 externalized binary npe (#4759)
* Basic test for reading from provider

* Basic test for reading from provider

* Failing test

* Add changelog

* Update hapi-fhir-jpaserver-test-r4/src/test/java/ca/uhn/fhir/jpa/provider/r4/BinaryStorageInterceptorR4Test.java

Co-authored-by: Ken Stevens <khstevens@gmail.com>

---------

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2023-04-25 18:34:27 +00:00
TipzCM 1c0addafeb
transaction bundle multi-threading issues (#4739)
* a solution for trying to avoid multi-thread issues for transaction bundle processing

* cleanup

* using retries

* mnor tweaks

* checking in

* changes

* updating changelog

* some minor tweaks

* cleanup

* flip if

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-20 18:43:37 +00:00
Ken Stevens 58850fed82
try removing fork count from surefire (#4752)
* try removing fork count from test-r4

* try removing fork count from the rest of the projects

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-20 13:58:35 -04:00
Ken Stevens 9e741cb145
remove enabled flag and instead only create the subscription topic beans in the fhir versions that use them (#4737)
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-18 10:20:43 -04:00
Etienne Poirier 88459d0d00
4657 method name is inconsistent with the method behavior (#4659)
* Test implementation

* providing method getMessageKeyOrDefault();

* providing changelog

* preping codereview.

* Deprecating method getMessageKeyOrNull in favor of getMessagekey()

* updating comments following code review.

* Bumping version to 6.5.13-SNAPSHOT

* passing all tests.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
2023-04-17 10:41:08 -04:00
James Agnew 7bdbda9ef0
Improve Subscription Retriggering Efficiency (#4742)
* Improve subscription efficiency

* Reduce number of queries

* Add changelog

* Fix ITs

* Review comments

* Test fix
2023-04-17 08:18:57 -04:00
Luke deGruchy 35bd1c400a
Fix bundle auto-create by checking for IBaseReference.hasIdentifier() before validating URL-based references (#4731)
* First commit:  New tests, logs, and comments.

* Add hacky fix to run pipelines on.   Add another unit test.

* Disable baseUrl checking if hasIdentifier() is true.

* Add changelog.  Tweak unit tests.

* Remove junk.

* Add more assertions to unit tests.  Make new production fix code clearer.

* Add more clarity to unit tests.

* Another unit test fix.
2023-04-14 17:55:31 +00:00
James Agnew 869b6c306a
Allow transaction with conditional create and patch in same bundle (#4735)
* Allow transaction with conditional create and patch in same bundle

* Add changelog

* Cleanup
2023-04-13 15:51:46 -04:00
Ken Stevens b88ccbc7b0
R4B SubscriptionTopic support (#4724)
* add tests for r4b subscriptions

* begin with failing test

* prepare for SubscriptionTopicLoader

* backwards compatibility

* subscription topic registry done

* topic matching is working

* all but delivery is working now

* yay test passes with FIXMEs

* FIXME -> WIP

* switch notification to bundle

* message codes

* fixme

* disable services for fhir versions below R4B

* fix regression

* fix intermittent

* this change will likely break some other tests

* try a safer option

* fix tests

* fix intermittent (I hope)

* unit test

* improve logic around topic subscription categorization

* moar test

* moar test

* changed to support both r4b and r5

* moar test

* cleanup for test

* moar test

* moar test

* moar test

* changelog

* comment

* Msg.code

* fix mock

* add update test

* fix test cleanup

* tracking link for version converter issue

* review

* fix test

* fix test

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-12 00:44:08 +00:00
James Agnew e500b23fe6
Instance level reindex operations (#4699)
* Reindex improvements

* Work

* Work on reindex

* Test fixes

* Generator now working

* Add instance reindex

* Work

* Build fixes

* Build fix

* Fixes

* Add changelog

* Test fixes

* Resolve checkstyle fix

* Version bump

* Address review comments

* Resolve imports

* Address review comments

* Test fix
2023-04-06 17:00:41 -04:00
James Agnew a2bc9a7212
Partition aware search cleanup (#4706)
* Partition aware search cleanup

* Compile fixes

* Build fixes

* HAPI FHIR version bump

* License

* License header

* Tests
2023-04-02 11:50:20 -04:00
Ken Stevens 4fbeeccda4
enable some disabled tests (#4662)
* enabled test

* added explanations to disabled tests

* added explanations to disabled tests

* yay enabled another one

* yay enabled another one

* testEverythingWithLargeSet2 failing intermittently

* fix intermittent regression introduced by splitting test class

* test passes

* need to document

* updated documentation

* prereview cleanup

* change log

* cleanup

* cleanup

* added breaking changes

* update changelog and breaking changes upgrade document to reverse the change to always return 200 per the spec.

* back out documentation change

* update documentation

* fix tests

* dstu2

* dstu3

* fix r4 validation warning test

* changelog

* hapi-fhir version bump to 6.5.10-SNAPSHOT

* fix cdr test

* fix tests

* remove accidental commit

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-04-02 08:47:16 -04:00
Justin McKelvy 9066ad618e
Bug cql engine paging (#4664)
* WIP paging

* iterable HapifhirRetrieveProvider

* Bundle iterating action

* cr config update

* adding paging functionality for search in cr

* updating BundleIterable logic and removing paging references

* add measureeval threaded config into cr

* update properties

* adding hapi change log 4663

* version bump for hapi

* update exception with msg.code, move copyright

* exorcism of paging provider from cr

* updating IT tests for terminology evaluatemeasure

* unit test, javadocs, removed reflection code

* added comments for explanation

* fix javadoc, iterable.size instead of method

* update from master

---------

Co-authored-by: Jonathan Percival <jonathan.i.percival@gmail.com>
Co-authored-by: justin.mckelvy <justin.mckelvy@smilecdr.com>
2023-03-31 11:09:50 -04:00
StevenXLi 3fb9a16975
4693 enable partitioning in bulk import (#4694)
* created failing tests

* implemented feature, added more tests

* added documentation and changelog

* fixed duplicate error code

* code review changes

---------

Co-authored-by: Steven Li <steven@smilecdr.com>
2023-03-31 09:43:40 -04:00
James Agnew e69fe05e96
Re-enable "Flush SP cache after SP change" (#4635)
* Revert "Revert "Flush SP cache after SP change (#4566)" (#4614)"

This reverts commit 9492999ed6.

* Additions for performance

* HAPI version bump

* Test logging improvement

* Test fixes

* Test fix

* Test fix

* Compile fix

* Fix

* License headers

* Test fix
2023-03-29 19:57:57 -04:00
James Agnew 05b3bff89f
Order Location searches using near in closest distance to center of the box (#4687)
* All working

* CHangelog tweak

* Address review comments
2023-03-29 03:19:34 +00:00
Luke deGruchy 479e412786
Ensure that source resource type of Provenance is also excluded from the $everything linkage. (#4692) 2023-03-28 14:41:24 +00:00
IanMMarshall b2c0a48915
4610 enable partitioning in bulk export (#4682)
* Initial commit adding support for partition awareness to Bulk Export.

* Additional cleanup and remove references in tests to "all partitions".

* Additional cleanup and remove references in tests to "all partitions".

* More cleanup, test fixes and additional checking to validate partition accesses.

* Additional changes to ensure checking of partition during polling operations.

* Add change log.

* More cleanup.

* Change recommended in code review.

---------

Co-authored-by: ianmarshall <ian@simpatico.ai>
2023-03-27 14:22:30 -04:00
Ken Stevens 47262f5bd5
Ks 20230324 include prov (#4685)
* fix test

* fixed

* changelog

* add another test

* improve docs

* fix change log

* fix test

* fix test

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-03-25 17:50:12 -04:00
michaelabuckley 7d26a7a38d
V2 index for string (#4629)
v2 indexing for String for when sorting.
2023-03-24 19:45:14 +00:00
James Agnew bcc1ca7593
Transaction SQL Optimization (#4679)
* Start work optimizing transaction

* Tons of test cleanup

* Cleanup

* More optimization

* Optimize

* Many tests fixed

* Work on test fixes

* Optimization done, now doing cleanup

* Cleanup

* Add docs

* Test fixes

* Test fix

* License headers

* Test fix

* Test cleanup

* Test fix
2023-03-24 10:29:56 -04:00
Jens Kristian Villadsen 90895aab57
Added exposure of uninstall (#4567)
* Added exposure of uninstall

* Add changelog

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2023-03-23 21:08:11 +00:00
Etienne Poirier fb057d4fb1
4671 Searching with _source parameter will return matches for all resource types (#4673)
* adding solution with new test.

* adding changelog

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
2023-03-23 14:04:01 -04:00
michaelabuckley 4b3405a456
Use java event names for work chunk transitions. (#4658)
Change work-chunk creation to be first event in state machine.
2023-03-21 13:53:16 -04:00
Ken Stevens 8b80da6441
re-enabled some disabled tests (#4644)
* re-enabled some disabled tests

* add logging

* improve logging

* removed nonsense test

* fix regression

* fix %now

* licenses

* disable searchparam reindexing on intermittent failing test

* refining fix to RetryingMessageHandlerWrapper

* licenses

* remove hapi-fhir-cli-jpaserver from azure pipelines

* undo unneeded change

* change log

* back out unneccessary changes

---------

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2023-03-17 13:04:29 -04:00
samguntersmilecdr 32d224b7bc
Bring support of conditional updates into alignment with the R4 spec (#4602)
* first draft changes

* small fixes

* rename config

* allow placeholders

* fix tests

* fix concurrency test (messy fix)

* add temp comment

* test pipeline

* add placeholder check

* remove configurability

* cleanup comment

* code review suggestions

* condition changes for test

* extract conditional expression into method

* fix conditional expression
2023-03-15 18:35:25 -04:00