Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LoadSynchronousUpTo Will Affect SearchForIds When Set To Small Value #4959

Closed
TynerGjs opened this issue Jun 6, 2023 · 0 comments · Fixed by #4966
Closed

LoadSynchronousUpTo Will Affect SearchForIds When Set To Small Value #4959

TynerGjs opened this issue Jun 6, 2023 · 0 comments · Fixed by #4966
Assignees

Comments

@TynerGjs
Copy link
Contributor

TynerGjs commented Jun 6, 2023

Describe the bug
Setting LoadSynchronousUpTo to a 'low' value will limit the resultset returned from synchronous searches including system configuration searches. For example, setting the search size limit to just over one thousand causes the searchParameterRegistry to be missing a key SP preventing the MDM to complete bootup configuration validation.

To Reproduce
Steps to reproduce the behavior:

  1. Set LoadSynchronousUpTo to a low value ($\leq 1000$).
  2. Follow this guide and Run with HAPI MDM.
  3. MdmRuleValidator throws configuration exception.

Expected behavior
MDM starts successfully.

Solution Design

  • In BaseHapiFhirResourceDao.searchForIds, replace if/else block with:
if(!theParams.hasLoadSynchronousUpToValue()){ theParams.setLoadSynchronousUpTo(myStorageSettings.getInternalSynchronousSearchSize());
}
  • in SearchParamRegistryImpl, set 10000 to the searchParameterMap returned by SearchParameterMap.newSynchronous()

  • write/modify a test for searchForIds where hasLoadSynchronousUpToValue has a value.

Environment:

  • HAPI FHIR master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant