Skip to content

Fix the outer source not found error in both Method sources and Threshold sources in creating a new score set and calibration. - #866

Open
EstelleDa wants to merge 4 commits into
release-2026.3.0from
bugfix/estelle/865/methodsAndThresholdSource
Open

EstelleDa wants to merge 4 commits into
release-2026.3.0from
bugfix/estelle/865/methodsAndThresholdSource

Conversation

@EstelleDa

Copy link
Copy Markdown
Member

No description provided.

…hold sources in creating a new score set and calibration.
@coveralls

coveralls commented Sep 14, 2026 •

Copy link
Copy Markdown

Coverage Report for CI Build 35809594702

Warning

Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes.
Quick fix: rebase this PR. Learn more →

Warning

No base build found for commit 5aefb34 on release-2026.3.0.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 88.963%

Details

  • Patch coverage: 2 uncovered changes across 1 file (6 of 8 lines covered, 75.0%).

Uncovered Changes

File Changed Covered %
src/mavedb/lib/identifiers.py 8 6 75.0%

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 15702
Covered Lines: 13969
Line Coverage: 88.96%
Coverage Strength: 0.89 hits per line

💛 - Coveralls

@EstelleDa
EstelleDa requested a review from bencap September 14, 2026 06:32

@bencap bencap left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at the issue this is paired with, this does work but I think the fix is aimed at the wrong layer. _fetch is a low level function shared by every Rxiv call site and having it swallow these parse failures into an empty list means genuine upstream errors (like Rxiv going down) now reads as 'not found' rather than an error.

The root cause here is that we have no way to differentiate PubMed and bioRxiv IDs; they're indistinguishable, so we are forced to check both. Because of that find_generic_article fans out to every db an identifier is valid for. The solution here solves that by making the lower level _fetch function not raise, but I think a more precise solution in the find_generic_article function would:

  • Perform the fan out
  • Catch any errors in the fanned out searches and log them
  • Drop the candidate search because of the error

Catching and dropping the candidate errored search would allow the successful PubMed search to be returned.

That does mean an explicit search with db_name="medRxiv" would continue to crash _fetch. But I think that's a separate and narrower gap than what the issue was intending to solve.

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.

Methods source and threshold source can't search the external source normally

3 participants