You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Running IBM FHIR Server 4.10.0 with CPG and CQF operations.
Executed $submit-data operation for an existing MeasureReport:
POST {{local1}}{{context1}}/Measure/$submit-data
(see attached requestBody.txt)
Logs indicate "PSQLException: ERROR: Concurrent update - mismatch of version in JSON"
(see attached out.log)
The core issue is related to MeasureSubmitDataOperation.java on line 80.
The switch between PUT/POST depends on a VERSION.
On the second submission of the same data element, the version is passed into the persistence layer, and the persistence layer sees a violation of the stored version (v1) violates the incoming version (v1).
Options, remove the version in that code, or use ifNoneMatch and handle the response.
* The primary change here is to remove the meta.versionId from any
resources that are posted with the meta section intact. This provides
some improvement to the function.
* The next thing I did was to improve the error handling such that a
FHIROperationException from the underlying bundle persistence is bubbled
up to the end user vs. being wrapped and obscured.
* Lastly, I added additional unit and server tests to prove behavior
including with the real-world example provided by QA.
Signed-off-by: Corey Sanders <corey.thecolonel@gmail.com>
Running IBM FHIR Server 4.10.0 with CPG and CQF operations.
Executed $submit-data operation for an existing MeasureReport:
POST {{local1}}{{context1}}/Measure/$submit-data
(see attached requestBody.txt)
Status 200 received yet operation fails:
Logs indicate "PSQLException: ERROR: Concurrent update - mismatch of version in JSON"
(see attached out.log)
The core issue is related to MeasureSubmitDataOperation.java on line 80.
The switch between PUT/POST depends on a VERSION.
On the second submission of the same data element, the version is passed into the persistence layer, and the persistence layer sees a violation of the stored version (v1) violates the incoming version (v1).
Options, remove the version in that code, or use ifNoneMatch and handle the response.
Additional context
The text was updated successfully, but these errors were encountered: