jembi / openmrs-module-shr-cdahandler

A CDA handler for the OpenMRS SHR implementation
1 stars 9 forks source link

Exceptions when importing documents concurrently #34

Closed rcrichton closed 9 years ago

rcrichton commented 9 years ago

The following string of exceptions occur when importing documents concurrently: http://hastebin.com/vorupawuvo.avrasm

The easiest way to replicate this is to run the xds repo benchmark tool like so ./run.sh -c 3 -n 3

The exceptions that we are getting:

rcrichton commented 9 years ago

It seems that this only happen because we are reusing the same documents over and over in our load testing tool and we have the CDA handler set to update existing obs (see gp shr-cdahandler.updateExisting) if it receives them again instead of throwing an exception. The correct way to resolve this would be to improve the load testing tool to not to generate better, unique test documents and to keep the shr-cdahandler.updateExisting gp disabled.

rcrichton commented 9 years ago

The problem here isn't actually with the CDA Handler. This only happen with the load test tool because we are trying to update the exact same document over and over while load testing. The solution here is to configure the CDA handler to not update existing obs (it shouldn't be set like this anyway for production as replacing data should be done through XDS means) and allowing the load test tool to generate different ids for the components and entries in a CDA document to that they don't overlap. Follow that work here: https://github.com/jembi/xds-repo-benchmark/issues/1