High latency bundles - #5826
High latency bundles#5826Robert Johnson (LTA-Thinking) wants to merge 5 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5826 +/- ##
==========================================
+ Coverage 78.16% 78.87% +0.70%
==========================================
Files 1017 1017
Lines 36996 37010 +14
Branches 5644 5650 +6
==========================================
+ Hits 28917 29190 +273
+ Misses 6686 6420 -266
- Partials 1393 1400 +7 🚀 New features to boost your workflow:
|
| @@ -0,0 +1,49 @@ | |||
| # High-Latency Bundle Processing | |||
There was a problem hiding this comment.
I think high-latency is the wrong term.
I've been running tests with bundles with more than 1k conditional-operations, and they are taking 6 seconds to execute. That's not high latency based on the complexity of this type of requests.
I suggest we follow a different perspective: if customer uses a header like "x-ms-bundle-large-operations" we always handle them as parallel. That will save us time and not cause high latency. And we should probably, with the presence of this flag, assume some behaviors to optimize the execution time.
With this flag, we can also report this execution as part of a different SLI/SLO, and that should not affect our existing limits.
| /// <summary> | ||
| /// Gets or sets the maximum number of entries allowed when high-latency bundle processing is enabled. | ||
| /// </summary> | ||
| public int EntryLimitHighLatency { get; set; } = 1000; |
There was a problem hiding this comment.
Could we rename this property to "EntryExpandedLimit"?
| } | ||
| } | ||
|
|
||
| private int GetEntryLimit() |
There was a problem hiding this comment.
Maybe GetEntryExtendedLimit()?
| }, | ||
| "Bundle": { | ||
| "EntryLimit": 500, | ||
| "EntryLimitHighLatency": 1000, |
There was a problem hiding this comment.
EntryExtendedLimit?
Description
Adds a new header to allow for extra large bundles by having a user acknowledge that it will lead to higher latency.
Related issues
Addresses User Story 195349
Testing
New tests added
FHIR Team Checklist
Semver Change (docs)
Patch|Skip|Feature|Breaking (reason)