Closed punktilious closed 2 years ago
High estimate due to testing concerns around edge cases...especially cases where COS gets out-of-sync due to network or other issues.
There are two main challenges that must be addressed for this to be successful:
Current thinking is to use a Kafka service to publish changes and use a consumer thread to perform reconciliation with the RDBMS. Any records read from Kafka but not in the RDBMS must be related to a failed transaction and so the payload content can be deleted (e.g. from Cassandra).
More to come.
Be sure that the new config prop fhirServer/persistence/payload
gets documented (or ensure this is included in follow-up issue) before closing this one
Be sure that the new config prop fhirServer/persistence/payload gets documented (or ensure this is included in follow-up issue) before closing this one
I moved this part to #2899
We exercised the touchstone basic server tests against the latest in main and, after doing #2906 to appease touchstone, it passed with flying colors. Further analysis can be made as part of our performance testing for the upcoming 4.10 release.
The FHIR resource payload is currently stored as a (potentially) large compressed object in the FHIR RDBMS (Db2, Derby, PostgreSQL).
Investigate options for storing the payload separately using another service.