Skip to content

ARAX hotfix: restore xCRG pin, NodeNorm/NameRes by maturity, blocklist fix - #2917

Merged
bazarkua merged 6 commits into
masterfrom
itrb-test-hotfix-20261009
Oct 9, 2026
Merged

bazarkua merged 6 commits into
masterfrom
itrb-test-hotfix-20261009

Conversation

@bazarkua

@bazarkua bazarkua commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

Hotfix for the ITRB TEST deploy, as decided on the 10/9 call. It goes into master first, then master into itrb-test. PROD gets the same code next Thursday.

What is in it

  1. Revert of Pathfinder otel integration #2895 (Pathfinder OTel integration). Resolving a merge conflict in Pathfinder otel integration #2895 put the xCRG pin back to the old version (IC before NGD), which dropped Jonathan's pin from update xcrg pin #2897. The revert restores requirements.txt and ARAX_connect.py to their state before Pathfinder otel integration #2895, so the new xCRG ranker is back. OTel is not part of this deploy; to bring it back later, revert the revert.
  2. NodeNorm production entry (Need to remove hard-coded service URLs #2913). The maturity map sent production to the old pre-ES nodenorm.transltr.io/1.4. It now uses nodenorm-es.transltr.io (deployed by ITRB on 10/8, same version as TEST). CI and TEST do not change.
  3. Name Resolver by maturity (Need to remove hard-coded service URLs #2913). NameRes was hardcoded to RENCI in every environment. Now development and staging use name-lookup.ci.transltr.io, testing uses name-lookup.test.transltr.io, production uses name-lookup.transltr.io. RENCI is only the fallback. The query log now shows the resolved NameRes URL.
  4. Blocklist fix (Gandalf format update exposed a bug in blocklist filtering + xCRG ranking #2909, Frankie). The general-concept filter reads typed node attributes (biolink:equivalent_identifiers, xref, same_as), so blocklisted concepts like "Prescribed medications" are removed again.

Also comes with it, from master since the last TEST deploy on 9/16: the NGD speedup with the v1.1 curie_ngd / curie_to_pmids databases (#2889, needed by the new xCRG), the SmartAPI dev Retriever entry (#2902, dev only), and CI / PR preview workflow updates. ChangeLog: #2874.

Testing

On the preview (https://cicd.rtx.ai/2917/) with the maturity set to staging, testing and production:

  • Example 1, 2, 3 and Pathfinder pass in all three, with the same result counts.
  • Each tier calls its own NodeNorm, NameRes and Retriever (*.ci, *.test, and the PROD hosts).
  • Preview pytest: 191 passed, 0 failed.
  • Unit tests for the NodeNorm and NameRes URL per maturity pass, and the fixed filter removes all 6 blocklisted concepts seen in the 10/3 TEST run.

hodgesf and others added 5 commits October 8, 2026 10:06
…tion"

This reverts commit a359220, reversing
changes made to b359625.

Decided on the 2026-10-09 call: the OTel integration is not part of this
TEST/PROD hotfix. Resolving a merge conflict in #2895 also put the xCRG
pin back to the old version (IC before NGD) and dropped Jonathan's pin
from #2897. This revert restores requirements.txt to its state before
#2895, which brings back the new xCRG pin. To bring the OTel work back
later, revert this commit.
The maturity map still sent production to the old pre-ElasticSearch
service (nodenorm.transltr.io/1.4). ITRB deployed NodeNorm ES to PROD on
2026-10-08, same version as nodenorm-es.test, so production now uses it.
Development, staging and testing are unchanged, so CI and TEST behave
the same as before.

Adds test_node_normalizer_url_by_maturity, which checks the URL each
maturity resolves to.

(cherry picked from commit 8a5d641c3b49ca97485aa882b4dece9532096d10)
NAME_RESOLVER_URL was hardcoded to RENCI for every environment, so CI,
TEST and PROD all called name-resolution-sri.renci.org. Add
NAME_RESOLVER_URL_BY_MATURITY and resolve_name_resolver_url(), the same
pattern as the NodeNorm map: development and staging use
name-lookup.ci.transltr.io, testing uses name-lookup.test.transltr.io,
production uses name-lookup.transltr.io. RENCI stays as the fallback
when RTXConfiguration cannot be read. All three Translator hosts expose
/bulk-lookup and accept the payload this module sends.

Adds test_name_resolver_url_by_maturity.
Copilot AI balanced review requested due to automatic review settings October 9, 2026 18:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@bazarkua

bazarkua commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator Author

/deploy

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@bazarkua

bazarkua commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator Author

/deploy

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@not43s not43s 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.

If the deploys and tests are good then this looks fine to me.

…tant

The query log printed NodeSynonymizer.NAME_RESOLVER_URL, the fallback, so every tier showed name-resolution-sri.renci.org even though NameRes now follows the maturity. Log resolve_name_resolver_url() instead, the same way the NodeNorm URL is logged.
@bazarkua

bazarkua commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator Author

/redeploy

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Preview pytest

Build: itrb-test-hotfix-20261009 @ 6098d6e

Container: rtx_pr_2917

pytest: 191 passed, 0 failed, 144 skipped in 181.39s (0:03:01)
[2026-10-09T19:58:59Z] wrote the status page /var/www/arax-preview/index.html

Workflow run

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Preview live queries

Build: itrb-test-hotfix-20261009 @ 6098d6e

Endpoint: https://cicd.rtx.ai/2917/api/arax/v1.4/query

# query HTTP s results KG nodes/edges status
Example 1 interacts_with (CHEBI:46195) 200 2.09 58 59/132 Success
Example 2 treats inferred (MONDO:0015564) 200 14.54 116 223/1525 Success
Example 3 affects qualified (NCBIGene:1576) 200 3.52 500 506/1963 Success
Pathfinder pathfinder (MONDO:0005011 to MONDO:0005180) 200 136.02 1 254/2401 Success
[2026-10-09T20:01:43Z] wrote the status page /var/www/arax-preview/index.html

Workflow run

@bazarkua bazarkua changed the title Hotfix branch for today's ITRB TEST deploy, as decided on the 10/9 call. PROD gets the same code next Thursday. ARAX hotfix: restore xCRG pin, NodeNorm/NameRes by maturity, blocklist fix Oct 9, 2026
@bazarkua
bazarkua changed the base branch from itrb-test to master October 9, 2026 20:10
@bazarkua
bazarkua merged commit 7c62494 into master Oct 9, 2026
1 check passed
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

ARAX preview

🧹 ARAX preview for this PR was removed.

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.

5 participants