Skip to content

Cache NAb runs per run and fit type - #3236

Merged
labkey-jeckels merged 1 commit into
developfrom
fb_reduceConnectionGetting
Oct 9, 2026
Merged

labkey-jeckels merged 1 commit into
developfrom
fb_reduceConnectionGetting

Conversation

@cnathe

@cnathe cnathe commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Rationale

See related commonAssays PR for rationale. This PR adds a test that NAb QC exclusions reach other sessions' cached runs.

Related Pull Requests

Changes

  • Saves well exclusions from a separate API session and checks the browser session sees the recalculated results, for both an explicit and the default curve fit.

- Saves well exclusions from a separate API session and checks the browser session sees the recalculated results, for both an explicit and the default curve fit.
labkey-jeckels added a commit to LabKey/platform that referenced this pull request Oct 9, 2026
…Ab, and audit grids (#8130)

## Rationale
Cut the overhead of repeatedly borrowing and returning pooled
connections on common request paths. For example, the product menu API
averaged 17 borrows per call in TeamCity runs and should drop to 3–5
with the companion limsModules change, and loading a table's schema
metadata drops from 3 borrows to 1.

## Related Pull Requests
- LabKey/commonAssays: LabKey/commonAssays#1079
- LabKey/limsModules: LabKey/limsModules#2515
- LabKey/testAutomation:
LabKey/testAutomation#3236

## Changes
- Product menu sections load their items under one held connection
instead of one borrow per lazy query
- Schema metadata loading shares one connection across its column,
primary key, and index passes
- Plate and dilution data for NAb runs load per well group in batches
rather than per well
- Lineage queries and data type exclusions are cached or batched
- Domain invalidation and object deletes clear only the affected
ontology cache entries instead of everything
- Audit grid columns memoize per-row lookups
- Query renames clear ontology caches so lookups rewritten in other
domains are picked up
- Plates cache their run container by id so cached plates pass the cache
safety check

## Tasks
- [x] Claude Code Review
- [x] Manual Testing - N/A
- [x] Test Automation

TeamCity: BVT, Daily, Biologics, Sample Manager, LIMS, Inventory, nab,
and endpoint suites pass on this branch.
labkey-jeckels added a commit to LabKey/commonAssays that referenced this pull request Oct 9, 2026
## Rationale
Cut the overhead of repeated connection borrows when rendering NAb
results. For example, each NAb graph image averaged 164 borrows in
TeamCity runs because it rebuilt the whole run; keying the run cache on
run and fit type brings a cache hit down to about 3.

## Related Pull Requests
- LabKey/platform: LabKey/platform#8130
- LabKey/limsModules: LabKey/limsModules#2515
- LabKey/testAutomation:
LabKey/testAutomation#3236

## Changes
- Graph images and run details for the same run and curve fit share one
built run
- High-throughput plates load their stored dilution data in a single
query

<!-- list of standard tasks (remove this comment to enable)
## Tasks
- [ ] Claude Code Review
- [ ] Manual Testing
- [ ] Test Automation
- [ ] Verify Fix
-->

TeamCity: nab Postgres passes on this branch.

---------

Co-authored-by: cnathe <cnathe@labkey.com>
@labkey-jeckels
labkey-jeckels merged commit b6fd49e into develop Oct 9, 2026
8 checks passed
@labkey-jeckels
labkey-jeckels deleted the fb_reduceConnectionGetting branch October 9, 2026 00:35
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 this pull request may close these issues.

2 participants