From 93bef6b51a1293395115300e6b71356ab1fbd179 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 6 Nov 2025 13:49:56 -0500 Subject: [PATCH 01/58] Updated NodeNorm loader to v2.3.27 and Babel 2025nov1. --- helm/node-normalization-loader/Chart.yaml | 4 +-- .../ncats-images-meta.yaml | 2 +- .../renci-dev-values-populated.yaml | Bin 3297 -> 3297 bytes .../renci-exp-values-populated.yaml | Bin 3287 -> 3287 bytes helm/node-normalization-loader/values.yaml | 29 ++++++++---------- 5 files changed, 15 insertions(+), 20 deletions(-) diff --git a/helm/node-normalization-loader/Chart.yaml b/helm/node-normalization-loader/Chart.yaml index 2c7bcafdd..b8c2a4286 100644 --- a/helm/node-normalization-loader/Chart.yaml +++ b/helm/node-normalization-loader/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.7.0 +version: 0.7.1 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to @@ -23,4 +23,4 @@ version: 0.7.0 # # NodeNorm versions are based on the version of the NodeNorm Docker image concatenated with the # Babel release date. -appVersion: 2.3.26_2025sep1 +appVersion: 2.3.27_2025nov4 diff --git a/helm/node-normalization-loader/ncats-images-meta.yaml b/helm/node-normalization-loader/ncats-images-meta.yaml index 3fe75f91a..7a2b53817 100644 --- a/helm/node-normalization-loader/ncats-images-meta.yaml +++ b/helm/node-normalization-loader/ncats-images-meta.yaml @@ -1,3 +1,3 @@ nodeNormalizationLoader: image: "ghcr.io/ncatstranslator/nodenormalization-data-loading" - version: "v2.3.26" + version: "v2.3.27" diff --git a/helm/node-normalization-loader/renci-dev-values-populated.yaml b/helm/node-normalization-loader/renci-dev-values-populated.yaml index 5c5e265369a7a1ce1fb97c3af6405486155cef58..8c9b1a7053c4ce3328246be3f6fb99cd4dab7312 100644 GIT binary patch literal 3297 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 f%~kM` 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 diff --git a/helm/node-normalization-loader/renci-exp-values-populated.yaml b/helm/node-normalization-loader/renci-exp-values-populated.yaml index ffd631e1dc140fc8b2a3c501f9672d46cd32b3d5..2cdc6ff6580946fcbf22ea251551cc7a4da5993b 100644 GIT binary patch literal 3287 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 VM0Q=zs9tszlawJ8gJEHDlwAb!Uh)6{ diff --git a/helm/node-normalization-loader/values.yaml b/helm/node-normalization-loader/values.yaml index 85aa495ef..630787b4f 100644 --- a/helm/node-normalization-loader/values.yaml +++ b/helm/node-normalization-loader/values.yaml @@ -12,14 +12,14 @@ logLevel: INFO image: repository: "ghcr.io/ncatstranslator/nodenormalization" - tag: "v2.3.26" + tag: "v2.3.27" pullPolicy: Always fullnameOverride: "" # Settings to use for a restore job. restore: repository: "ghcr.io/ncatstranslator/nodenormalization-data-loading" - tag: "v2.3.26" + tag: "v2.3.27" pullPolicy: Always dataDir: "/data" dataSize: 50G @@ -33,7 +33,7 @@ app: data: compendia: storageSize: 10G - sourceBaseUrl: "https://stars.renci.org/var/babel_outputs/2025sep1/compendia/" + sourceBaseUrl: "https://stars.renci.org/var/babel_outputs/2025nov4/compendia/" files: - AnatomicalEntity.txt - BiologicalProcess.txt @@ -45,7 +45,6 @@ data: - ComplexMolecularMixture.txt - Disease.txt - Drug.txt - - GeneFamily.txt - Gene.txt.00 - Gene.txt.01 - Gene.txt.02 @@ -53,6 +52,7 @@ data: - Gene.txt.04 - Gene.txt.05 - Gene.txt.06 + - GeneFamily.txt - GrossAnatomicalStructure.txt - MacromolecularComplex.txt - MolecularActivity.txt @@ -82,11 +82,6 @@ data: - Protein.txt.18 - Protein.txt.19 - Protein.txt.20 - - Protein.txt.21 - - Protein.txt.22 - - Protein.txt.23 - - Protein.txt.24 - - Protein.txt.25 - Publication.txt.00 - Publication.txt.01 - Publication.txt.02 @@ -106,7 +101,7 @@ data: - umls.txt conflations: storageSize: 1G - sourceBaseUrl: "https://stars.renci.org/var/babel_outputs/2025sep1/conflation/" + sourceBaseUrl: "https://stars.renci.org/var/babel_outputs/2025nov4/conflation/" configs: - file: "GeneProtein.txt" types: @@ -122,31 +117,31 @@ codeDir: /code redis_backend_config: "eq_id_to_id_db": - restoreURL: "https://stars.renci.org/var/babel_outputs/2025sep1/rdb-backups/id-id.rdb.gz" + restoreURL: "https://stars.renci.org/var/babel_outputs/2025nov4/rdb-backups/id-id.rdb.gz" storageSize: 100G "id_to_eqids_db": - restoreURL: "https://stars.renci.org/var/babel_outputs/2025sep1/rdb-backups/id-eq-id.rdb.gz" + restoreURL: "https://stars.renci.org/var/babel_outputs/2025nov4/rdb-backups/id-eq-id.rdb.gz" storageSize: 150G "id_to_type_db": - restoreURL: "https://stars.renci.org/var/babel_outputs/2025sep1/rdb-backups/id-categories.rdb.gz" + restoreURL: "https://stars.renci.org/var/babel_outputs/2025nov4/rdb-backups/id-categories.rdb.gz" storageSize: 30G "curie_to_bl_type_db": - restoreURL: "https://stars.renci.org/var/babel_outputs/2025sep1/rdb-backups/semantic-count.rdb.gz" + restoreURL: "https://stars.renci.org/var/babel_outputs/2025nov4/rdb-backups/semantic-count.rdb.gz" storageSize: 1G "gene_protein_db": - restoreURL: "https://stars.renci.org/var/babel_outputs/2025sep1/rdb-backups/conflation-db.rdb.gz" + restoreURL: "https://stars.renci.org/var/babel_outputs/2025nov4/rdb-backups/conflation-db.rdb.gz" storageSize: 10G "info_content_db": - restoreURL: "https://stars.renci.org/var/babel_outputs/2025sep1/rdb-backups/info-content.rdb.gz" + restoreURL: "https://stars.renci.org/var/babel_outputs/2025nov4/rdb-backups/info-content.rdb.gz" storageSize: 1G "chemical_drug_db": - restoreURL: "https://stars.renci.org/var/babel_outputs/2025sep1/rdb-backups/chemical-drug-db.rdb.gz" + restoreURL: "https://stars.renci.org/var/babel_outputs/2025nov4/rdb-backups/chemical-drug-db.rdb.gz" storageSize: 1G securityContext: From f5c9701eacaa05dacc6abdabedaa6a765b7526ab Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 30 Oct 2025 16:59:53 -0400 Subject: [PATCH 02/58] Upgraded NodeNorm Web to v2.3.27. --- helm/node-normalization-web-server/Chart.yaml | 4 ++-- .../ncats-images-meta.yaml | 2 +- .../renci-dev-values-populated.yaml | Bin 3350 -> 3350 bytes .../node-normalization-web-server/values.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/helm/node-normalization-web-server/Chart.yaml b/helm/node-normalization-web-server/Chart.yaml index c2e72f3fd..f482ba417 100644 --- a/helm/node-normalization-web-server/Chart.yaml +++ b/helm/node-normalization-web-server/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.4.1 +version: 0.4.2 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to @@ -23,4 +23,4 @@ version: 0.4.1 # # NodeNorm versions are based on the version of the NodeNorm Docker image concatenated with the # Babel release date. -appVersion: 2.3.26_2025sep1 +appVersion: 2.3.27_2025sep1 diff --git a/helm/node-normalization-web-server/ncats-images-meta.yaml b/helm/node-normalization-web-server/ncats-images-meta.yaml index 7e06efac1..8c11632fc 100644 --- a/helm/node-normalization-web-server/ncats-images-meta.yaml +++ b/helm/node-normalization-web-server/ncats-images-meta.yaml @@ -1,4 +1,4 @@ nodeNormalization: image: ghcr.io/ncatstranslator/nodenormalization - version: v2.3.26 + version: v2.3.27 diff --git a/helm/node-normalization-web-server/renci-dev-values-populated.yaml b/helm/node-normalization-web-server/renci-dev-values-populated.yaml index dc9018e211f5fb906fb6f1e05d44b998e376a679..70d4dfb99be719d5c69aa939943d0522fd3e653d 100644 GIT binary patch literal 3350 zcmV+x4e9a#M@dveQdv+`0HP0@l%m2K>+nKf8}L;nw98(+vHewY6rK~FB;o|_Im$c6 z2jq2@G4=BQia3t86uLTdl!l=cl`~2C_rT>|tl<}A94!7@IdVd7FD8m?^+P%*X0jtM z_oemOm?2|F)juZNZT3ztEr1l1ie;ogh*4G-ln3mK>F_{dpE-FXCVmlxW#lDUUw%5+ z@lIIxFDlSbP)70-z9t_#RvSw?R{gc7_+L;DO!>%vNB5PpFeS?ITaXrkQ3ZXBjZp;) z7K(V&cAiPd&B2b z8avc_C02vItj#&2ju&FrIqsi8375RH`^USvS!YUZ-YFv82!|Sb8yPX?GqjLel2)p- zM`4K{47vILhDBu;(5wr|3o-uo(U?{VtrZ)cQi4D+*67<@2Lgz92#F1&D{d~m84fEQ zUVisR_$S6o9H2N(N>NW2J9JqX<#Q}KQeP$_x@_JAeuk2C#LDv+be-*TLiE?`;nF%; zeuu><3zHrA2fCDgww{k^=4dC|yvW;ui&W`PSLnj-OkdznWjhJIYMjj2vS90|~%Ne;ftI`|*MuCtdL7^O?}C0K=hdQi*{LS#6^4${wvD08qR3l(XGv z^CV~~pA>5bIXQ@`Iqco#^cvw!uhxY~^Eorx(s_VhurB@5KW7}!=k?2Fil|IFa=EhK zDImPKjKd073t>~?05I!3gn_A;x-cO@y_m{Dr*6LU_rCzhA;dwW2{GGEFjRJ zTxd&)etEDj)i|3Z&J`CUuK{F}vU@5u_pBOwLLPm8eL}QWjR|DYYkIJtPReMKsHSKM zmGQGp$tRu5O>dSUl8Mb8yZ{)SJDeMB8O_Lx?7KGZilnr3*}j>(G$)%}O{E+v9&YxE zovqQ@N7DcaF&e>;NNb(1A5j6JqeqyXRVJNk+hGV;*YqQ4k(~uP6SVApt3TV)a5S6~VEMm5rZWBa zQ!YEBFv(R>FWz)v-XR`UPs_N~BxDetR{Iat?GWwX&Dy0_&nZ;_N`g+IEVbfD{|BZhz_q=vDzpgVnu$DDfET9Q91DvqlUM&0? zoIfxIJf@C1oi10<0TIFyT`ZcJC9QQLAG<^JgY%uq?k)(0qDASmN3(?d8k<9k}JdC*Q?5_bv zFZvitqS)6|btQS$IHd~464m3&lnLonEJL`;UOmkllJ_cYpDF=&_u7yHY_xZnjd4&p zpa8b)UOHoecLL@R76N$Y>j>kuRb9R=H!{T17ojurnbNST#fc>VuU|yIFq4Nk! z^1IA-k+c`7|5pb0ee5H1*RvULGu5^Iu}=Y~L>{Ik&1x7zMRNDgg>>xiQ9sxh`W8o{ z?J-y2Np+rCaFKQ#SlO7@SwTs&H29CvBT_7gWB3^ocb;=IL@G8kct6trIqo4QxezfI_gKSMPWEA zrcHE-xa&jF#H-CP@WDl7+O;LlwH}qVN5@vUzZvhsakDpX-;{x*4&8?NrjMC#TR$z% z_7N9C%(D92mowDE1A$PLd>djzBF~8w=(wm6$ma{glflB4`)=ZcyYn_^=^W#qjwO5p z6=}n@;n4?>v+MltNl)cN8^sXalzW?w8~q77^YIE>W2i3jI%h{@eHK5JWT%BZb#40) zLH#XwvHSgA7P)}EUi&?ZWN{q%edGmI&#McWTUaxBplI<@n*M?}X@mif4D63mJ&fzt z?<57}0JUOj&EJ43b|IXxYB;3V-Z-<1!viqjs4MBGlzJQ@Jjt{#sS<*_0_Zowp*b)n zMcj!XP~pl?9}fYyOayKLQ8s4}ufSC7$btm}g>BzAmlMx4W87lGUh2ZHw=-kyxHM6{ zim{%zUSUx>4{xYspy_5E#9~1Cj;MwLRQaexh~1y7KaU>o!-Rc@X}-L-qZvk0b(f%5 zLq2;SxcyRnm~x-a6i`BY_XCbt)J0g~(~EY(`M&jwv@bTREbNga_lPec2;*Zy%@g#1 zRTIDGb(9QTVE_2yKQc!M{nkH|I3u-Kl zpq_pT3yWTjGerTfPaV)O)4O&4Du;#norq*Bs^9!#!p#+sZ@^;z#p&GOhbm!(GHr{! zq)4)zU>;a?jj2JS#=Nha3Q>JgKk-8hs`ppyN7`fENETU$j0$Y=`iDAyowNKmO z(I+Z@QBqX-CzJ3Bm>i0KL(4+50?mgn5wpkqu7?KR-)tCYL)S6ki1c1y4<+&YKTazz z^Z&tZCMh}rfp(NJB(CQ{;2~0itd-p_;5*ah?Y{s{ho%%B5MVxz}ZKQ;qHCoU<* z?DEN*gobAZ0(0Kk#5ef|4wgk3=DsI+1z=~CBQ0( z8ZDS>1;53#Jc)>PXKzN?k`E zo+3t*A8Y|k=QX%AakB`M<(Xp@_Kj|uQ$9KAvAY(RZ<7xWiX6vQ*uUz(x>?WDk|w$; zBqcOZBri;IyN|NY;)}t93LK3`49*xfVo8wJ8eK-tBhs6~X=V4=0~4~1G8zPNFL?;|WGbf-`{9fqi5 zoXgNOD}yya!|Qfx60gxfW&#g%B8eu;6_JF69MewcM>0qH0^(rq=B5xs0E9t|e-_qm zyxjI!Ca!L3*CD=syM?X*a3B;xvx>T-jsOfTA#!%s?TXNTl=7#X)8S;){ry)p$xy$ z9d;m?p<5R?^$f*sFog8N*cw)bdfYBHJJFW- zqYL3+K5NhU*lU+=N^N{)D#HRmNG{{aZ zoOB(7ft7lROWl^H8Lg+GK2r)cE0Lgex2f6-jEJqw%z`tJ*dE3kbVKEi9MN0j0f;@7 z%my$rMUFeTj$0ssg8*#R?>M}|6x+(AY>;2+XhS)UdzJ@C9C)(n_KnB8O6rN=SFN0= zUtNXq-30EhSp0|5#M&K?Qh;$faw{7sQUcJUs!MRmG`Q67gCo=A+R~&;y^!apQ?#DS z%ErX)12AJOo3}-}#)xzZCouR9&GvFRRl{By$Gz&f$4l@|GM-k$t^xV8CfysCCBD67 zn^%9the@YGi#6Rlmfhhjg8sbmnT|)RuM={>Ul`w0_6f{E?)r?Cpa^xn@W>=H^WKRX zB&Z`ig@N<%l>%kc8MmJ=ZWdHR< zo%(OHP?~nqj5!(EOX=p1O^oVP>K8>kOIc@6!XM6hY=@d9g3kfED+Nf?lM~_J&*)TT zN6lmuVEx%a68QY65E1+d_MJnc`XXu0qK&n~5vzp7k30Y5?=aVcWO|bT^0k~8@9`?R zg(tS+237GqSf>(%+;3H;AQBjDm<*ck>4?1~Q>2RV6Z&uR`rw&!a8o)k4IeBxY@^M~ zV$V0_l%%XF5YK>#VN8ioNW_@-Nb0X~rzVd&w(l4EIyfbG_=mE$nw2VIr zRkUt&GACa1aosd8)hB4#*cw}kD+oHVlUQjj3jcmBho;rQ*^xJoem)oKE@6zD?o?8jTk+!nzu2BlA$3hkeW%D{Tb>?osUYANq7@F~}!_#jIXvp}E_{UZKoRHq1@_R;0og z(B-~_Ve|ZT^0j_9Hd$D|fFOA7NOjCcs8m>n4=`O~sXKu~S(BJIU4FC_Hs)@Wl&=or z`!w;9!J|@n6e9_lazXMquu^m}wr-E|b^iO(#o_4RfqrWjNI5{>)!GQ#T^H9YY10K` zncyrhWN=<|N5AQLM@q9W*zj}c)69C)MC(USi$MgXi>&-IRBuYEGHKp<@>iiXk#*3e z1k1RX(Si_>yuNY^`Urvn0RZ(RoWQq8RWk;iGv2fLG;r^LRF!f;{{oSD%CIEHX^F))me9ei)J=1n8_}y7@!s}=ApXPex7l*M<}XP!AJOA z$YJWZh_ zrlHiioZ&@o*6?aLVP;D9tyS`r7`@6dJfSnXko6=5CxP;JEv`t`gV;9VCP6|6&{luu zjq1%FW5?(DM5xltYy*_N(bjN-_22SEd>NeFJ|>RIaU>ER7T{WbXTZ~Ldxc_tmkQa= zee-MH;L*Lyrl<6GMrBZO6y~OT6i8!ve&O3$J}z&Au9AY&ktDiXmm3DV!F;YAsA2`f z1LJI$kqF5hX4uuJ_a=q#Mvjk6D&faBW|2WY7`1@ zXbq|KYHd^!;8~U6()E8mma^-4+!z?4mXS+jJP0Uuh{VCo45xr>|9*fTvY(3c435N7 z+GtD*<}#k)K#wpfPhPd`9M{;iABB(QC#U0eWw-qgJ8$k05@)k77LmMWc#FT&Y5FD} z(<%h7aXZ!j>6=4G5&r^8mfX%!{fb)_$SCNcMlr(?WG@Zl?KdVErbi>MK}a_DgYbCO zB~rSkonSnhQuFi_+dw`4dJ)irs7BWf%q$h~!wp&j<9Y)fnG}F(^XhI7%U-5Yv>G9BmoLy!7P znUQ1Ma?3_USk5$ATVZvBcO)!+(O8R^slM}n8}GcH>G&38f*-(m#Sd#(%N$E;KXed~ zZY#d)8r%3R5!K@_hRoAW;}cNW&aKO!qXg*c1pdr|!zm1j29>@eXD@#cfv|mN+qFxN zx1)0uA1VBrFYHMV%04UU*O}8eeFtU?3$58+Oe~Q;H4-V0o=z(}^tXWOnrT^$Z7P0E zZ@3?LLNcw$Twa3SpOujmhN$Xs;a7cg(V+uV`Y_S6C6Cw|L_o0r*HUz=O^5if%*m>D z`yk_o;Wuh8YDtKf|5497=3~wy66(sEQi*{ebi}(tu959i-IqO%SR?IYWkNF7QaPld zilwM$z^O=b3e&GtA#r(QL?U|FWT4c>I=RV}%iW4@<&J4n+~hKa7Z*oN#SGf86;gz#;+*;EKUwtri;dX{ zQ`GLBRKPx$Mnjoep}1!SN4t-0Yngd^3Izl?YiobHi1RAs!FH;wSy#FfMp_x+X;eqY z$|lr1)tmE;eN~4%%CWJ>uQ)}pWxO`V0uH_VO#K)kV4*HP2_o`*MGJ(7E1LVE@`$G1 z2TlsRp`yR&njV6L$(^vC2;k*>Y5r5>S4Ok!9~pYM9?C1Wf;5SpN}Aa@9R~ZlS6}or zOjLc^P1@4_j6ty4*aHV&D8b&ToqbqaD=&2&OhMFLjJ>KdPkuwP`D8`Yb~yd!19+u!h>90Vtcl8zkZIpx;|=2BBAIMOVTi)kxnjI56RocawST z%EGGYGbLax*c!N!v8d&0ZRpp5>u_GhKdKmMw=XLMuPmrrG8DHT9K!dRos2O0KhsGr zR1=X^)){86P2(*7YPh&$&GpenZIvtk6YeR(|JW}?eOH_e`2%$7*vp23+bkz`8CU?yo%j*AYy3i= z{EaZJH}&|c2O(y88*7KzVW(G=7Ui$BpO*JW8K* zEEhAdK>JT4+*ovST=%z2)|Bz_I8h~69YT9`0C zdr8p60Y`X+@mb!}DL)1Ah9t>5grPvZ)ln%&S!uj?iG%ynx-4QZ>NTdRC*N4;$~!2w zCxAQ6QICB3HeKM$&KLzi-i}~X$Cyy7o7vt;=>-fy6*EjqqE z*hu1&uaE@sgXX43(Ad0#`KtWDZEVx{l&$lMha{jTge1c5378wCA7o10_TakmrjFBB z`E`SFKHc2_Qf>I?6V907PW0oc;%Bvf(dO+)Wb0tY!J3c?@6++&RJ}YQu=O10a$O-B g!z4^0+duC)Due?0zRm{Pgm3*!(jvbDqM*U>j)4Q8HUIzs diff --git a/helm/node-normalization-web-server/values.yaml b/helm/node-normalization-web-server/values.yaml index 97ce8241c..0dcd3eac7 100644 --- a/helm/node-normalization-web-server/values.yaml +++ b/helm/node-normalization-web-server/values.yaml @@ -8,7 +8,7 @@ image: repository: ghcr.io/ncatstranslator/nodenormalization - tag: v2.3.26 + tag: v2.3.27 pullPolicy: Always data: From ae2af70b1392f3604db6fe3e2330ecff99c89506 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Mon, 10 Nov 2025 02:09:10 -0500 Subject: [PATCH 03/58] Switched translator-exp to load. --- .../renci-exp-values-populated.yaml | Bin 3287 -> 3284 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/node-normalization-loader/renci-exp-values-populated.yaml b/helm/node-normalization-loader/renci-exp-values-populated.yaml index 2cdc6ff6580946fcbf22ea251551cc7a4da5993b..27476f49360cb96a8db129ebdd6f6b0d7fdcd78f 100644 GIT binary patch literal 3284 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 Date: Mon, 10 Nov 2025 18:26:50 -0500 Subject: [PATCH 04/58] Updated NameRes Solr to v9. --- helm/name-lookup/ncats-images-meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/name-lookup/ncats-images-meta.yaml b/helm/name-lookup/ncats-images-meta.yaml index 6b2290289..4cb7bed3a 100644 --- a/helm/name-lookup/ncats-images-meta.yaml +++ b/helm/name-lookup/ncats-images-meta.yaml @@ -4,7 +4,7 @@ nameLookup: solr: image: solr - version: "9.1" + version: "9" renciPythonImage: image: ghcr.io/translatorsri/renci-python-image From 1a55b110fd23c69aaeb11166519875c15ad00fc2 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Mon, 10 Nov 2025 18:29:19 -0500 Subject: [PATCH 05/58] Updated NameRes to 2025nov4. --- helm/name-lookup/Chart.yaml | 4 ++-- .../renci-dev-values-populated.yaml | Bin 930 -> 930 bytes .../renci-exp-values-populated.yaml | Bin 1299 -> 1299 bytes helm/name-lookup/values.yaml | 6 +++--- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/helm/name-lookup/Chart.yaml b/helm/name-lookup/Chart.yaml index 7b770a155..41a887cb3 100644 --- a/helm/name-lookup/Chart.yaml +++ b/helm/name-lookup/Chart.yaml @@ -14,11 +14,11 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 0.5.1 +version: 0.5.2 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. # # NameRes versions are based on the version of the NameRes Docker image concatenated with the # Babel release date. -appVersion: 1.5.1_2025sep1 +appVersion: 1.5.1_2025nov4 diff --git a/helm/name-lookup/renci-dev-values-populated.yaml b/helm/name-lookup/renci-dev-values-populated.yaml index 9686e14d015f8fb337a93eba75f0acb711d1b069..107bcaae74dfa2b343764f9ac6fe2bd982d1afb5 100644 GIT binary patch literal 930 zcmV;T16}+8M@dveQdv+`0E3%EU-&((xSF$rPdJ#?Wa<4JLuR6dAblRGvLnQy0|&ub z7Ll_tzxc5c48$~qzihT{+1ehsYP9ds?Huc^eQpwF>#5MIjl>wCAZoaNIz5@=QL zm91Uyb%yBPH8}baH|_Ua=m@*O0mvhz?!Ww)>$SmHmM*SylI}30CSfl)a-Ye+;yFvY zCL&in6}?3i5W&F74{sOpSLtj;MIlos%iM7~44G^>i)uCW3cN_`EGbD}-|c$UMlxX# zw74@_zEzbXzy{aQA~63wf|7F%9Go@H2$G{{^&QZ0R3Wz3G&U9iY1H7KJ4+*rufxKM zX=T=fuV@e@mOmsYqsCu-fS`T|MsvO|DdN$MRL*IFl-<1*S1*21NE&bJ%*_?hfmuO= zmX`4~<8a9m_hf17?kXZ6XpUW7vJ{n)*K z)gDA*Xts-^)K$GFW6`LPEU9qmg~vQsy#2su&SSAaj9~Z?)#Sg$GAotIXpWCS&m&`9 zg@5lVHkEGs+Z(o~LJf%42E*;Abl9GX^V;Fr))4WQ^AJ^$fC_BF2;x#y9wpT3@UYHv z4n@*(O#bG?y?Fm=*x5csS&>m{e;O-EC9+p8mE-|y#1y|J_n>JHJyXgn{EtJFQ!jGW zmw%uQ0&hxYcGnQr_!bfJU5&oqzkwGeg6FemdL(!4l>P?HN+PNAB&u}CoYR~#Ao9Gm;`ZKzCzJw z39r&+*1LajlCe}F?Uosk_2gYB8z>(tcCHO}8^WBcK;i@tcFt}Hj}9mS)QM)ms`41v zb!AKQZ!9~m=*kcng^|Vh##mwXjZ%}#!-#=UTC@ApAyN-aoXP+tF{j@WFVI$%bfbZ| Epg+RKzyJUM literal 930 zcmV;T16}+8M@dveQdv+`0NV^CPT9Q|QX125u3v}it}s^wQz_@5;cMP-S%D(fY+OP$ zjxi+W84dEGWKH3J*Cn|m=hFr;HCF0I9I^?de+Vw`t6;Jc_y%r^0A;?ov%q~1BuQPQ zH!>S4Xhzy-%`zi?rvMLOyV4vl=h6M8qGZd6DESoJcmd*Btc5IS@xP0om=+EDcR1v9 zP0WMnzR;INVmSUDq+pU$@D~QoN{{J|sV~;Amsq+MH-vg|$=Hr8f0FdS61W#&WMYkr z5Cs$NIB=5|id)hJm)$cm2|L)W10clAo6?bgd-4F+Gw2vb48f&47wjbtQxpiDdKa5+{YK7YXSILo_Xf~6>z3`x91oVtz90t+>MSE? zAuIg9s_R4l$5Svf0i@K{O)QZ{U4lLp~*~Z(fq>~?)K!?5zFkjY26DXAn%1!)!UO)gm4E=uQPS+ zGPCnfJt2znvy_L6t*=e2#j|N(Eq#_a7(Kml3e6d8H1^Br)*sR-Q+bS!wxyGju+zf@ zJ;!GXRiAEFAdO3n$}0A5Ze*>ifPwR|Bd96w7#O_F{km2tK<+mY^uV$AKGkr$DlNAC zz(wVVGSzh~)3&KhcRG*U91PNSS0%Psx#xPdYAzTFmvwZ1<=kS5X)*f8IesO(4%-pu zDh6Ri&gyaEBqPtFUAO!!5wYNURW`#T#2xft2g=o8MYJIFwpb8OEcy6?2;PfUalGL$ ze96Ia2&uwyIiqX3)iW-HSGRgpiQ4n&4}9T|Kv3(-KF>Ca7qgYn#IIF|*^S{0?N|Rl z?gzHwegCB@?1WH$^?vg~m@|XE4dR?*NeW+?C_`JajX&%mDQmV^6_}ALZN6P1`u-LaT#Mq-qo`UsB{`X{926ESat! E{7%Ema{vGU diff --git a/helm/name-lookup/renci-exp-values-populated.yaml b/helm/name-lookup/renci-exp-values-populated.yaml index 6bd5049e2e71ff302ca51d0bf78c44092a2bc684..4f7fb79ca87ffe84dca099bf08a2da3af283e7f4 100644 GIT binary patch literal 1299 zcmV+u1?>6&M@dveQdv+`00R%Bg+(EomM~-r^I#ObYUZ>GJWx=3$y*g@PSb&IwQ54h zsy0nH)3LI?``K!#um;8Z9%p_E0SYry<&xFycIB8w{F%1h+lxW7E<>K4tt& z|8$^9V{+o>n)^pU>R+**)PVbFU1;LcvWhALDBeug*eu5Y(SCxGd0yc?0So66s6>21tI`#)7!78l&#W8br~TiqUz5Gh@`P6ljHcym zKw%@E<<_;zwt`#Sx~DxWJGw{V*wZXL-np6Mz(ynh6q6!nP7NB`yN%Sl*$u;+MF?;2 z*_3?m$fjfUe&xgZ0yYi9VRgyhG)Sn&x24KJgLg8zEFOxn5JNooXzlN9cL;-rxms|` z<4cA5Hp>dI=6RtVo}rFc$aj5;3PUDEz>wBBEC+bFR-LvpP#ENdMu1H!1Koyp`8AN^@SB z@1*-n+31rQnC=CHpyjH2{mttmXJC@H>1mcN_3i(PS0Hrad`fcHZvCjIN2euc9?y>rMedX4K* zMxBx+WARt^9x_l10eRR;U3y?8SmpB1ErqDs*LOEe9LT5sWzo-8z)o^SQ~2EX7vvcn zC1ivv*v+mhgpv*DSyBU^W7f&bC0diUdH^0$n8d)YoGsil#CH`UUL_gyPZR;r{$qZ+ zZ%6CwD>3l1kq~Q!@_%DRk&1bl#*8<#>N12fY7bV!YpH{`i>#6&NN|;$IHyofY>Ip` z=YBCCbmY>1s@-!%EjfWLVBE#ASXKW;9^om$iPStM)3q&aUoCWk)@N7-P;155DXf(o zS=^84cB?ZN$qbuIw&)$GF&QL2?=N2qFMr%I$wd8`!^*Ff-n&&&rZxj5Y^tTXH1%-u zIZ~E$Z+Yw>q38-1wl|T6OeqNA)SipT3(EA3lp;^Fw|=V>t@+V8w!1A5@}ElxR{U_K z>spcwt)6^DUX166aJp2|sw4@hYH!4%{uh#PvdM`70szeJ!IT7^!2s_Hj-2c37dPbIx~e*a9LhCEL9> z8ey@um!&zztvw-Y*%C0!I3utr52MbZyR#Ij6UyCw9t&B@7;O#VWZNk=r@du~1xsgC z)qAJ8(R%(kq}=_bpqh$I#i_h3cK^FwL-^u<>7~)`!IAODyp4P{RyV3ppRBR5CDedv JOXu~bJ>nU6ivR!s literal 1299 zcmV+u1?>6&M@dveQdv+`0K6BJASjn~CIK_|Nj+IT-O{+uYoHbS{ZWKvIbWMHC3C)K zX+#Dn*W<%|Sq`x!nY?F3INMTA0!2&0-*8ro)hyF z>v`i;4MTL>z2ps+Xrc`bUJ*3)VP%Ink@UFm`_apT$d_tP>iB~D8D7o@SN>@VP!U#) zE1i;Rh}Q1y&VZo2bGM)6f*72hhH&Tr9pHRFu>!$O@6wAyH6O@ph;Fkuy?U3SBlAkf zakr^`THg`7ElJo;8LpX|)6>5XW4lyOuIk&U*1y3B7MLk=DkyM2sIp#ek`HwAGkNv& z;`y6Hpuh=uwy3FVX=2(yOtysChcWC*cXH=K$OSU89ouYqps!Nm%kM6Uo9U!qX6CdI z?@9@%hBVRzHW(QZ)?D{Di(DQ)$`{+3V(!U0604p8ZR@gdZA7N9A3Ujt0Y?Y(Jvtrw zfku6lYEe1q5FrMw&rxouQ8*S?;jK~9b0h4b$zK)u)~OC-!D`NgNow=|@%a4`A02hd zq%tY&J47BBZLDL#lEM^`MlH`xGR0V?ECK&4-5gJ)8I-@iH%Bnl0&ZK)!Y6|C&%>hH ztR<(D)+OKc)r_gb;5`-DYXCk1mIlfsO8dxW?nMIs^`oIjDK=*lCAX>fJAZ(;zs(!z zwwUpk=1d0Zty_*=E}6$+RP*AZ%ZnwuS(|)HwQ38zJ#YAg@^rm51-pf&org2W8PX8h#O+htn3I4f+@Ung+g)mteVyR|AJe!23F*z` zNK&4Jt|dog*-;JbE&hsUQFt27cbkFpw&P4Szv{2sYohUDy(#r+v^$&06Q{VOFl35?GL}rdd>vJTvJF>U$x%a161CdJ z@yi+1YY5D~#3acBI+ruFD+wJfhvz=79uPikSYFT7RPdFhyI$*1z0Uh#QX-~1Wiq4^ zzQ0r?G5mSoGL1n@Kn(^03vaG(2~nt%N^`x!7_t#L@~*5fBAD1a~cO)}hv(Iw7fU&GjUUg`mu+4 zzMWAQE+?D;6e(x4W%e%fla}(xlK5X!S;utlf;8C14UP9G`jY;CLu!sdq{0te# z`1sX|k1>zbxK~Hn+U7^Lp Date: Mon, 10 Nov 2025 18:40:51 -0500 Subject: [PATCH 06/58] Upgraded NodeNorm to 2025nov4. --- helm/node-normalization-web-server/Chart.yaml | 4 ++-- .../ncats-images-meta.yaml | 1 - .../renci-dev-values-populated.yaml | Bin 3350 -> 3350 bytes .../renci-exp-values-populated.yaml | Bin 3011 -> 3011 bytes .../node-normalization-web-server/values.yaml | 4 ++-- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/helm/node-normalization-web-server/Chart.yaml b/helm/node-normalization-web-server/Chart.yaml index f482ba417..a1f104770 100644 --- a/helm/node-normalization-web-server/Chart.yaml +++ b/helm/node-normalization-web-server/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.4.2 +version: 0.4.3 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to @@ -23,4 +23,4 @@ version: 0.4.2 # # NodeNorm versions are based on the version of the NodeNorm Docker image concatenated with the # Babel release date. -appVersion: 2.3.27_2025sep1 +appVersion: 2.3.27_2025nov4 diff --git a/helm/node-normalization-web-server/ncats-images-meta.yaml b/helm/node-normalization-web-server/ncats-images-meta.yaml index 8c11632fc..8de905d1d 100644 --- a/helm/node-normalization-web-server/ncats-images-meta.yaml +++ b/helm/node-normalization-web-server/ncats-images-meta.yaml @@ -1,4 +1,3 @@ nodeNormalization: image: ghcr.io/ncatstranslator/nodenormalization version: v2.3.27 - diff --git a/helm/node-normalization-web-server/renci-dev-values-populated.yaml b/helm/node-normalization-web-server/renci-dev-values-populated.yaml index 70d4dfb99be719d5c69aa939943d0522fd3e653d..a1eccd86d8927b766634d90210148b0873a9b446 100644 GIT binary patch literal 3350 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 literal 3350 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 F?qa}9>aYL+ literal 3011 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 Date: Tue, 11 Nov 2025 10:08:26 -0500 Subject: [PATCH 07/58] Updated NodeNorm renci-exp to v2.3.27. --- .../renci-exp-values-populated.yaml | Bin 3011 -> 3011 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/node-normalization-web-server/renci-exp-values-populated.yaml b/helm/node-normalization-web-server/renci-exp-values-populated.yaml index f689ce547252969d9f17ac045536a7bb779c3687..facefc390a1982f67a63f4304b29f8c68227d9a7 100644 GIT binary patch literal 3011 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 Fw1k#I(K!GB literal 3011 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 F?qa}9>aYL+ From b494a459fe8af2f0823f7c2e8f1580175503446f Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Fri, 14 Nov 2025 16:22:03 -0500 Subject: [PATCH 08/58] Upgraded backup scripts to 2025nov4. --- .../scripts/backup-nn-redis-db0.sh | 4 ++-- .../scripts/backup-nn-redis-db1.sh | 4 ++-- .../scripts/backup-nn-redis-db2-5-6.sh | 4 ++-- .../scripts/backup-nn-redis-db3.sh | 4 ++-- .../scripts/backup-nn-redis-db4.sh | 4 ++-- .../scripts/backup-nn-redis.sh | Bin 1346 -> 1346 bytes 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/helm/redis-r3-external/scripts/backup-nn-redis-db0.sh b/helm/redis-r3-external/scripts/backup-nn-redis-db0.sh index ec8489612..bda88f9ca 100644 --- a/helm/redis-r3-external/scripts/backup-nn-redis-db0.sh +++ b/helm/redis-r3-external/scripts/backup-nn-redis-db0.sh @@ -5,8 +5,8 @@ # # Configuration -NN_VERSION="${NN_VERSION:-2025sep1}" -NN_NAMESPACE="${NN_NAMESPACE:-translator-dev}" +NN_VERSION="${NN_VERSION:-2025nov4}" +NN_NAMESPACE="${NN_NAMESPACE:-translator-exp}" RETRIES=10 # Copy all the dump files. diff --git a/helm/redis-r3-external/scripts/backup-nn-redis-db1.sh b/helm/redis-r3-external/scripts/backup-nn-redis-db1.sh index cb67f9dda..70f76f3ed 100644 --- a/helm/redis-r3-external/scripts/backup-nn-redis-db1.sh +++ b/helm/redis-r3-external/scripts/backup-nn-redis-db1.sh @@ -5,8 +5,8 @@ # # Configuration -NN_VERSION="${NN_VERSION:-2025sep1}" -NN_NAMESPACE="${NN_NAMESPACE:-translator-dev}" +NN_VERSION="${NN_VERSION:-2025nov4}" +NN_NAMESPACE="${NN_NAMESPACE:-translator-exp}" # Copy all the dump files. function check_and_download() { diff --git a/helm/redis-r3-external/scripts/backup-nn-redis-db2-5-6.sh b/helm/redis-r3-external/scripts/backup-nn-redis-db2-5-6.sh index f70d86c71..7c767be6a 100644 --- a/helm/redis-r3-external/scripts/backup-nn-redis-db2-5-6.sh +++ b/helm/redis-r3-external/scripts/backup-nn-redis-db2-5-6.sh @@ -5,8 +5,8 @@ # # Configuration -NN_VERSION="${NN_VERSION:-2025sep1}" -NN_NAMESPACE="${NN_NAMESPACE:-translator-dev}" +NN_VERSION="${NN_VERSION:-2025nov4}" +NN_NAMESPACE="${NN_NAMESPACE:-translator-exp}" # Copy all the dump files. function check_and_download() { diff --git a/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh b/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh index ee1accef3..5ef0637a8 100644 --- a/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh +++ b/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh @@ -5,8 +5,8 @@ # # Configuration -NN_VERSION="${NN_VERSION:-2025sep1}" -NN_NAMESPACE="${NN_NAMESPACE:-translator-dev}" +NN_VERSION="${NN_VERSION:-2025nov4}" +NN_NAMESPACE="${NN_NAMESPACE:-translator-exp}" # Copy all the dump files. function check_and_download() { diff --git a/helm/redis-r3-external/scripts/backup-nn-redis-db4.sh b/helm/redis-r3-external/scripts/backup-nn-redis-db4.sh index b06143c05..77dba67fa 100644 --- a/helm/redis-r3-external/scripts/backup-nn-redis-db4.sh +++ b/helm/redis-r3-external/scripts/backup-nn-redis-db4.sh @@ -5,8 +5,8 @@ # # Configuration -NN_VERSION="${NN_VERSION:-2025sep1}" -NN_NAMESPACE="${NN_NAMESPACE:-translator-dev}" +NN_VERSION="${NN_VERSION:-2025nov4}" +NN_NAMESPACE="${NN_NAMESPACE:-translator-exp}" # Copy all the dump files. function check_and_download() { diff --git a/helm/redis-r3-external/scripts/backup-nn-redis.sh b/helm/redis-r3-external/scripts/backup-nn-redis.sh index 40d1f36cd9c9083bfae167a3ce5177f173833811..4d5c7362bbc218dcb148408868d7186b7e56290a 100644 GIT binary patch literal 1346 zcmV-I1-<$JM@dveQdv+`0ALYbKZNDU1-KWG;SqwygE=A|$mbkNOXM{-HS?nv0B;Ei zDTpUhs0V%ypARSrV>a5xhUt_>t&+|E#+*#0ItwsG$uF>fNp)iYowF0~1Iay?Fqh-2 zY8PNXhq8!tEx3pQvxRK^>=}NkNHzLyxQ9c$sqB_#mn678n-LeO{sNZIoB_}3)FBm5 zoo{xP;hEEflL5CIW+HyqO5sSia^HCKMR|-vm7>)YpX2SVdENKK+1kQI$1iXf`BpB6 zFXV#U#jF6vKl=uZgQwbOaLa2K&r>Xmta=G$Ut_&`gns+;V$SZ6GKRz>F{`aCY&WCB z`NRj}x(I$gY7<9>dS{G7b^9*#?M${D*TKV2aAT;yK*#=A9yz2mJR$mg)r3L1!{c`A zdnoRNoATo($eKPbp~H!l9cOqw9)q75&<2e9unq&qY5lLkX?1!;R@A$WXlV>`rORmF$iIBy;cZO98#jgrsgg zEkOeVr%=I|qQvd)6we}k?8v$Mqj|Cj`g~DF@fOE+?2FD6lHsqc%t6hZTGM87J?k~0 z9Flqnk>F9_lYGMk2bMVh3uAK-JMq3ezcJfLq5>lH`34>F4J6F)CWMU_$0Mns&uuEe zjc!0#&B^}&)t}GYjSSf(zu4#vWE6_l;Hu#~LgOBTNsN{~8|pN9M_jgo^2)_9HTVJH*Hi=ZiuHNL0NRHwtbWs}pRfSSq3gVo%`pmK} zToqw3RH=@v>+G)Ii=8xXg?zy#QZ0>EtMzJD%&yf3j8jj494&n+%V@ff%AAIL&JgH| zbssIl#Xxg(n2Dga*=^vp_-4gtl!aw#IP}ue>-VM2juQ`u$XUSkqf-&S(TJay1TzPu z79fY04sbo!d?=o7{OXr{=desM3(ovj@kA;VO3Vwwn6MJ^Kec#^zHU=vYm|i&{V#uC zG>)3pFvTaZ;ut{l4CwuRWT18O5@zF{-MR}dUAsjD6c5K(2T(eU`W*|`Rx+ zz2e^m&K@b8sFNe5fkLnu9sByT^Cg&QgF*NAx z3j1VcLw(vb3Z#hJH-hxc;w&Z-UW=lemP1DtR2DzmDVmoZlYcB3u~4j{XdL;ZRu>$B zQhD$`1a~V4r*G@@A^+x!Lr+jH;RA_qkvcCx;^yrX!h#7944OkSl>Jh75D!g~Vg8C0 EVNFe+UjP6A literal 1346 zcmV-I1-<$JM@dveQdv+`0Fm)jS(e|J!~x6QfVm@mFE8%ZV4nPQveYBRkG!n~M0|#- z6m7Lpa@J$98;hgK`f#pybRsRKB>h@6$_-CVJYEIE5LF}V*@G>(yHLF@ZRjaHZ5w09 z5QUt$ZYD zs{xSSQDk6`m*bxnFQH2~9^Vt{sMy#wn^BV)RQ2W@FjOA{U7XKj^07mB&=_49YTH@S zztRC!%er$1!fK}OAe41S6$jQy2TY^GpUEIYuS_h}Iy`C5_wxFRY-h=PT|t$LCWepR zV4X+0AoKN-SyTA2Kt>Yt_VS#(cskO-Xq2aO)t<0r?zFsW#j8yRLOz8z6Kqs^FpA_t z3>*89GWi4ldyB06(!SKly1n1bNUKXWK}Oa8eal))P}f9yICE$S*Z*lz2IqJlO-5}*;TEFM0|MNP5pN9+cq8 z+-#AoRX6uksnIxEy^OBiP_UlM04idpKSkju6cnsyx0QLr7LKs&NSqZWu^0M10F!e{ znMSYr=)0(|t$DmNMChGW z%$~=%bdYGq@WM+PqwDsL2)mnQhQH}a;Vi&!k+#uON7JSdn_SA^zD;$rU7#NMGcHYL zmYnp=;Y@qO)n{0U?G&@~pUgzw((b1~Fy`O(J#34E6KJ8D9Q9enlOD6G0Su|!sZDwH zSK>B~CI^bHwBr(oK{)F0v=q3k5xy?PRK(~X0v^+IX)n`ZOWs8Di79QLeGx6RMZcW>JboH`n*`8seDIQbABOpQOP=$Yp#Ir?EK!i z|MWIEbgFA@m2}WP;Ov4`IUNLkXh=4_SB=V|)#5&i=%oq>dj$;+J^moN;SL6CT2yrJ zy`Cw1``t@fu(=T>6PhuxM&_vZVKUpxkTTp^z?;wqKo$;*>BH7GLXC?(jjnqq4`d0e zbmsl)4lgmRA;X)HT3bdP1}X}xgYy^ZOW-qP)9_%YwEg%m1o1k%XU$% zvb)kvpYY>8Asfc-jFG7;#~M12$I*TgkfCc%+JeTUIl49 zFU@3whY?hw-t2lN5OQbE>u2-7NBIz;fG%UfGW}DkE!HIHV$6=U{rjM1X`0se_X z7-nLbL#t($9rO3%2j|p0feK}!1%{;20G(7R2=?RPz-9T6v{_J_l*76$vMv2{uIzY< zSV=hJEz`5rLYQHhXM7}4yiFerpQ&Jc%lkuj@vcQ)&}Cz(Y>LCB-Er6=18Z{S)G2R2 zaNdU=-?HEbqZ8SV?1>IM(fkZBM6x7j5v8K3ds*(mAq@aMr1e@NRE(Q?Z;^Prk_A~5 zeO;U&|Gy5K$uIuF-Y!1a Date: Fri, 14 Nov 2025 16:50:42 -0500 Subject: [PATCH 09/58] Reverted compressed file transfers. --- helm/redis-r3-external/scripts/backup-nn-redis-db0.sh | 4 +++- helm/redis-r3-external/scripts/backup-nn-redis-db1.sh | 4 +++- helm/redis-r3-external/scripts/backup-nn-redis-db3.sh | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/helm/redis-r3-external/scripts/backup-nn-redis-db0.sh b/helm/redis-r3-external/scripts/backup-nn-redis-db0.sh index bda88f9ca..d353a8418 100644 --- a/helm/redis-r3-external/scripts/backup-nn-redis-db0.sh +++ b/helm/redis-r3-external/scripts/backup-nn-redis-db0.sh @@ -22,7 +22,9 @@ function check_and_download() { echo Checking RDB file. kubectl exec -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0" -- bash -c 'redis-check-rdb /data/dump.rdb' # Backup file. - kubectl cp -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0:/data/compressed.rdb.gz" ./$name.rdb.gz --retries $RETRIES + kubectl cp -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0:/data/dump.rdb" ./$name.rdb --retries $RETRIES && \ + md5 ./$name.rdb && \ + gzip ./$name.rdb } # Download files diff --git a/helm/redis-r3-external/scripts/backup-nn-redis-db1.sh b/helm/redis-r3-external/scripts/backup-nn-redis-db1.sh index 70f76f3ed..34307dafb 100644 --- a/helm/redis-r3-external/scripts/backup-nn-redis-db1.sh +++ b/helm/redis-r3-external/scripts/backup-nn-redis-db1.sh @@ -21,7 +21,9 @@ function check_and_download() { echo Checking RDB file. kubectl exec -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0" -- bash -c 'redis-check-rdb /data/dump.rdb' # Backup file. - kubectl cp -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0:/data/compressed.rdb.gz" ./$name.rdb.gz --retries 10 + kubectl cp -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0:/data/dump.rdb" ./$name.rdb --retries 10 && \ + md5 ./$name.rdb && \ + gzip ./$name.rdb } # Download files diff --git a/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh b/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh index 5ef0637a8..7c2fed0ec 100644 --- a/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh +++ b/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh @@ -21,7 +21,9 @@ function check_and_download() { echo Checking RDB file. kubectl exec -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0" -- bash -c 'redis-check-rdb /data/dump.rdb' # Backup file. - kubectl cp -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0:/data/compressed.rdb.gz" ./$name.rdb.gz --retries 10 + kubectl cp -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0:/data/compressed.rdb.gz" ./$name.rdb.gz --retries 10 && \ + md5 ./$name.rdb && \ + gzip ./$name.rdb } # Download files From d76900ac41e56a5d862d02298cdf55ea21e6cfa7 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Fri, 14 Nov 2025 17:01:09 -0500 Subject: [PATCH 10/58] Updated compressed download for db3. --- helm/redis-r3-external/scripts/backup-nn-redis-db3.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh b/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh index 7c2fed0ec..c82d02b86 100644 --- a/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh +++ b/helm/redis-r3-external/scripts/backup-nn-redis-db3.sh @@ -21,7 +21,7 @@ function check_and_download() { echo Checking RDB file. kubectl exec -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0" -- bash -c 'redis-check-rdb /data/dump.rdb' # Backup file. - kubectl cp -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0:/data/compressed.rdb.gz" ./$name.rdb.gz --retries 10 && \ + kubectl cp -n "$NN_NAMESPACE" "nn-redis-$NN_VERSION-$name-master-0:/data/dump.rdb" ./$name.rdb --retries 10 && \ md5 ./$name.rdb && \ gzip ./$name.rdb } From fc72834aae5fd35b3c584446fda70a008c03fc86 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Sun, 16 Nov 2025 16:56:19 -0500 Subject: [PATCH 11/58] Added NodeNorm Exp to whitelist. --- .../renci-exp-values-populated.yaml | Bin 3011 -> 3085 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/node-normalization-web-server/renci-exp-values-populated.yaml b/helm/node-normalization-web-server/renci-exp-values-populated.yaml index facefc390a1982f67a63f4304b29f8c68227d9a7..772ff440af911f65b14edaba1f133539830a3727 100644 GIT binary patch literal 3085 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 b5*fjEzRm+mR?c@kFk3V4V1%#hLdNLqThRW6 literal 3011 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 Fw1k#I(K!GB From d8d7c03dfc72de20fcdb9dbc724aeaced2eee2e6 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Sun, 16 Nov 2025 20:07:12 -0500 Subject: [PATCH 12/58] Added taxon_specific field. --- helm/name-lookup/templates/scripts-config-map.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/helm/name-lookup/templates/scripts-config-map.yaml b/helm/name-lookup/templates/scripts-config-map.yaml index 189c73720..353c8df34 100644 --- a/helm/name-lookup/templates/scripts-config-map.yaml +++ b/helm/name-lookup/templates/scripts-config-map.yaml @@ -16,7 +16,7 @@ data: rm -rf $DATA_DIR/* # Download the file with retries if the download fails or if there is an existing file we can continue. - wget -c --progress=dot:giga --tries=10 --waitretry=10 --timeout=60 --read-timeout=30 -O $DATA_DIR/$BACKUP_ZIP $BACKUP_URL + wget -c --progress=dot:giga --tries=10 --waitretry=10 --timeout=60 --read-timeout=30 -O $DATA_DIR/$BACKUP_ZIP $BACKUP_URL cd $DATA_DIR tar -xf $DATA_DIR/$BACKUP_ZIP -C $DATA_DIR @@ -159,6 +159,13 @@ data: "stored": true, "multiValued": true }, + { + "name":"taxon_specific", + "type":"boolean", + "stored":true, + "multiValued":false, + "sortMissingLast":true + }, { "name": "shortest_name_length", "type": "pint", From 20ed8992c940ca0890d18324baf759b048a05a5c Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 3 Dec 2025 20:37:18 -0500 Subject: [PATCH 13/58] Upgraded NodeNorm to v2.3.28. --- helm/node-normalization-web-server/Chart.yaml | 2 +- .../ncats-images-meta.yaml | 2 +- .../renci-dev-values-populated.yaml | Bin 3350 -> 3350 bytes .../renci-exp-values-populated.yaml | Bin 3085 -> 3085 bytes .../node-normalization-web-server/values.yaml | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) diff --git a/helm/node-normalization-web-server/Chart.yaml b/helm/node-normalization-web-server/Chart.yaml index a1f104770..4d926c5d5 100644 --- a/helm/node-normalization-web-server/Chart.yaml +++ b/helm/node-normalization-web-server/Chart.yaml @@ -23,4 +23,4 @@ version: 0.4.3 # # NodeNorm versions are based on the version of the NodeNorm Docker image concatenated with the # Babel release date. -appVersion: 2.3.27_2025nov4 +appVersion: 2.3.28_2025nov4 diff --git a/helm/node-normalization-web-server/ncats-images-meta.yaml b/helm/node-normalization-web-server/ncats-images-meta.yaml index 8de905d1d..ef6946f11 100644 --- a/helm/node-normalization-web-server/ncats-images-meta.yaml +++ b/helm/node-normalization-web-server/ncats-images-meta.yaml @@ -1,3 +1,3 @@ nodeNormalization: image: ghcr.io/ncatstranslator/nodenormalization - version: v2.3.27 + version: v2.3.28 diff --git a/helm/node-normalization-web-server/renci-dev-values-populated.yaml b/helm/node-normalization-web-server/renci-dev-values-populated.yaml index a1eccd86d8927b766634d90210148b0873a9b446..e33272afd2244186d0b5b3dd93bbc5b41dc26995 100644 GIT binary patch literal 3350 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 diff --git a/helm/node-normalization-web-server/renci-exp-values-populated.yaml b/helm/node-normalization-web-server/renci-exp-values-populated.yaml index 772ff440af911f65b14edaba1f133539830a3727..3496ed6b3c1c7b77563a6af1c02879ac993e98fb 100644 GIT binary patch literal 3085 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 b5*fjEzRm+mR?c@kFk3V4V1%#hLdNLqThRW6 diff --git a/helm/node-normalization-web-server/values.yaml b/helm/node-normalization-web-server/values.yaml index b423527a1..c40c5ec50 100644 --- a/helm/node-normalization-web-server/values.yaml +++ b/helm/node-normalization-web-server/values.yaml @@ -8,7 +8,7 @@ image: repository: ghcr.io/ncatstranslator/nodenormalization - tag: v2.3.27 + tag: v2.3.28 pullPolicy: Always data: From 91437c4cb348f212789deed97f96cfd5c3f5bd46 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 3 Dec 2025 20:38:56 -0500 Subject: [PATCH 14/58] Updated NodeNorm Loader to v2.3.28. --- helm/node-normalization-loader/Chart.yaml | 2 +- helm/node-normalization-loader/ncats-images-meta.yaml | 2 +- helm/node-normalization-loader/values.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/helm/node-normalization-loader/Chart.yaml b/helm/node-normalization-loader/Chart.yaml index b8c2a4286..d4a6dfb03 100644 --- a/helm/node-normalization-loader/Chart.yaml +++ b/helm/node-normalization-loader/Chart.yaml @@ -23,4 +23,4 @@ version: 0.7.1 # # NodeNorm versions are based on the version of the NodeNorm Docker image concatenated with the # Babel release date. -appVersion: 2.3.27_2025nov4 +appVersion: 2.3.28_2025nov4 diff --git a/helm/node-normalization-loader/ncats-images-meta.yaml b/helm/node-normalization-loader/ncats-images-meta.yaml index 7a2b53817..51f68170d 100644 --- a/helm/node-normalization-loader/ncats-images-meta.yaml +++ b/helm/node-normalization-loader/ncats-images-meta.yaml @@ -1,3 +1,3 @@ nodeNormalizationLoader: image: "ghcr.io/ncatstranslator/nodenormalization-data-loading" - version: "v2.3.27" + version: "v2.3.28" diff --git a/helm/node-normalization-loader/values.yaml b/helm/node-normalization-loader/values.yaml index 630787b4f..a2fb8c4c0 100644 --- a/helm/node-normalization-loader/values.yaml +++ b/helm/node-normalization-loader/values.yaml @@ -12,14 +12,14 @@ logLevel: INFO image: repository: "ghcr.io/ncatstranslator/nodenormalization" - tag: "v2.3.27" + tag: "v2.3.28" pullPolicy: Always fullnameOverride: "" # Settings to use for a restore job. restore: repository: "ghcr.io/ncatstranslator/nodenormalization-data-loading" - tag: "v2.3.27" + tag: "v2.3.28" pullPolicy: Always dataDir: "/data" dataSize: 50G From 03c97ddbe80ac1feced41be0ed5df154e4c0626a Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 3 Dec 2025 22:58:00 -0500 Subject: [PATCH 15/58] Upgraded NameRes to v1.6.0. --- helm/name-lookup/Chart.yaml | 2 +- helm/name-lookup/ncats-images-meta.yaml | 2 +- .../renci-exp-values-populated.yaml | Bin 1299 -> 1299 bytes helm/name-lookup/values.yaml | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/helm/name-lookup/Chart.yaml b/helm/name-lookup/Chart.yaml index 41a887cb3..59b70d8c4 100644 --- a/helm/name-lookup/Chart.yaml +++ b/helm/name-lookup/Chart.yaml @@ -21,4 +21,4 @@ version: 0.5.2 # # NameRes versions are based on the version of the NameRes Docker image concatenated with the # Babel release date. -appVersion: 1.5.1_2025nov4 +appVersion: 1.6.0_2025nov4 diff --git a/helm/name-lookup/ncats-images-meta.yaml b/helm/name-lookup/ncats-images-meta.yaml index 4cb7bed3a..2dc213c27 100644 --- a/helm/name-lookup/ncats-images-meta.yaml +++ b/helm/name-lookup/ncats-images-meta.yaml @@ -1,6 +1,6 @@ nameLookup: image: ghcr.io/ncatstranslator/nameresolution - version: v1.5.1 + version: v1.6.0 solr: image: solr diff --git a/helm/name-lookup/renci-exp-values-populated.yaml b/helm/name-lookup/renci-exp-values-populated.yaml index 4f7fb79ca87ffe84dca099bf08a2da3af283e7f4..dc9eb07d5fbf8cd00cee9aedf1700cbe9d29086e 100644 GIT binary patch literal 1299 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 JOXu~bJ>nU6ivR!s diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index 62c0b58f4..b11a3f9f8 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -13,7 +13,7 @@ webServer: port: 2433 image: repository: ghcr.io/ncatstranslator/nameresolution - tag: v1.5.1 + tag: v1.6.0 dataUrl: "https://stars.renci.org/var/babel_outputs/2025nov4/nameres/snapshot.backup.tar.gz" forceRun: false From 854995372c6dad65c75a1a6cc8be6559c627896b Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Mon, 8 Dec 2025 13:52:09 -0500 Subject: [PATCH 16/58] Updated NodeNorm Loader to v0.8.0. --- helm/node-normalization-loader/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/node-normalization-loader/Chart.yaml b/helm/node-normalization-loader/Chart.yaml index d4a6dfb03..2fbeea107 100644 --- a/helm/node-normalization-loader/Chart.yaml +++ b/helm/node-normalization-loader/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.7.1 +version: 0.8.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to From c675a152d60c6bfae7800ea47b3b3ecd0d193b74 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Mon, 8 Dec 2025 13:52:58 -0500 Subject: [PATCH 17/58] Switched NodeNorm Loader Dev to restore. --- .../renci-dev-values-populated.yaml | Bin 3297 -> 3299 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/node-normalization-loader/renci-dev-values-populated.yaml b/helm/node-normalization-loader/renci-dev-values-populated.yaml index 8c9b1a7053c4ce3328246be3f6fb99cd4dab7312..cde5b3d99b7c18bbd9bf2f1efa89f81624d9dd47 100644 GIT binary patch literal 3299 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 f Date: Mon, 8 Dec 2025 14:04:25 -0500 Subject: [PATCH 18/58] Replaced redis-rdb-cli with new reader. --- .../templates/loader-pipe-job.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/helm/node-normalization-loader/templates/loader-pipe-job.yaml b/helm/node-normalization-loader/templates/loader-pipe-job.yaml index 14454fa75..b13482922 100644 --- a/helm/node-normalization-loader/templates/loader-pipe-job.yaml +++ b/helm/node-normalization-loader/templates/loader-pipe-job.yaml @@ -103,6 +103,7 @@ data: gunzip "{{ $dataDir }}/{{ $dbName }}.rdb.gz" # Restore the file into the specified database. + # We no longer need to support cluster mode, so we can just pipe the data directly to the target host. # The `-c` option doesn't work in pipe mode, which is why we generate a ton of MOVED errors when we run this. The `grep -v MOVED` should suppress them # to avoid filling up the log. # Instead, what we will do is to get the list of cluster nodes and then stream ALL the data to ALL the nodes. Very inefficient, but it should get the job done. @@ -115,8 +116,9 @@ data: for node in $sub_nodes; do IFS=':' read -ra node_host_port <<< $node sub_host_name="${node_host_port[0]}" - echo "... Started piping data to ${sub_host_name} as part of {{ $hostName }} ..." - rdb -c protocol "{{ $dataDir }}/{{ $dbName }}.rdb" | redis-cli {{ if $isCluster }}-c{{end}} -h ${sub_host_name} -p {{ $port }} --pipe {{ if $sslEnabled -}}--tls{{ end }} 2>&1 | grep -v MOVED + echo "... Started piping data to ${sub_host_name} as part of {{ $hostName }} ..." + bash /home/nru/rdb-to-resp.sh "{{ $dataDir }}/{{ $dbName }}.rdb" "8.4" | redis-cli {{ if $isCluster }}-c{{end}} -h ${sub_host_name} -p {{ $port }} --pipe {{ if $sslEnabled -}}--tls{{ end }} 2>&1 | grep -v MOVED + # rdb -c protocol "{{ $dataDir }}/{{ $dbName }}.rdb" | redis-cli {{ if $isCluster }}-c{{end}} -h ${sub_host_name} -p {{ $port }} --pipe {{ if $sslEnabled -}}--tls{{ end }} 2>&1 | grep -v MOVED echo "... Done piping data to ${sub_host_name} as part of {{ $hostName }} ..." done From 912df0e3ad593dea31893742748260f75d0537ef Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Mon, 8 Dec 2025 14:06:51 -0500 Subject: [PATCH 19/58] Replaced tag with the development code. --- helm/node-normalization-loader/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/node-normalization-loader/values.yaml b/helm/node-normalization-loader/values.yaml index a2fb8c4c0..c20143916 100644 --- a/helm/node-normalization-loader/values.yaml +++ b/helm/node-normalization-loader/values.yaml @@ -19,7 +19,7 @@ fullnameOverride: "" # Settings to use for a restore job. restore: repository: "ghcr.io/ncatstranslator/nodenormalization-data-loading" - tag: "v2.3.28" + tag: "replace-rdb-reader" pullPolicy: Always dataDir: "/data" dataSize: 50G From fec5cc09d411820256251a08494e2e071898e4be Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Mon, 8 Dec 2025 14:55:35 -0500 Subject: [PATCH 20/58] Attempted to add redis_version everywhere. --- .../ncats-dev-values.yaml | Bin 2659 -> 2683 bytes .../ncats-prod-values.yaml | Bin 2811 -> 2835 bytes .../ncats-test-values.yaml | Bin 2671 -> 2695 bytes .../renci-dev-values-populated.yaml | Bin 3299 -> 3322 bytes .../renci-exp-values-populated.yaml | Bin 3284 -> 3307 bytes .../templates/loader-pipe-job.yaml | 3 ++- 6 files changed, 2 insertions(+), 1 deletion(-) diff --git a/helm/node-normalization-loader/ncats-dev-values.yaml b/helm/node-normalization-loader/ncats-dev-values.yaml index facad89ea5676aea59bd7dc6490c4406a74d7d92..e5ef7ba40f6920e29ac3e8cd91d73993a57896ca 100644 GIT binary patch literal 2683 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 Rcz-)bmvmV~SiJv^DEC>RCD8x? diff --git a/helm/node-normalization-loader/ncats-prod-values.yaml b/helm/node-normalization-loader/ncats-prod-values.yaml index b7f2873df684fb0648fa6724f5807997922802b4..378d96e94ecb1675f60d086be660b503b79fc782 100644 GIT binary patch literal 2835 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 N+TR;R`#`AJ5Kt<1cd!5e diff --git a/helm/node-normalization-loader/ncats-test-values.yaml b/helm/node-normalization-loader/ncats-test-values.yaml index 41ae0fe162ad7eefc23ee275a73ed4137a26d828..6dc25c231c6217b5301810b053d048a9b16aab63 100644 GIT binary patch literal 2695 zcmV;23V8JZM@dveQdv+`0AsRV%Qxcz91#QvugLs>{cG{M>*NBHV8GiX+?!%F0iEw| zQr{fXTfI3HX@5SNJUMSLq`Lym8pg6d5}Swkvt&l(kG(1;C73uk^)YQdI93^GidGaLqY+$36$5QczJNmF-G!#NE{e^k$ZW zTfUGg*0rI1Mj1`~=gizxf(RR72f_kh&>A)sZoMno;id?XBgq9UN{M-GgvJ>MMPrG1=o?Ctxy*gs7@?>DZr;eeul{#Z@GfVc;_^X-f7D z`eO)RO}q6g2JbY#y<_Mh?=~VqObrjgKji^J|?lp zzvl+x*Dv@kJ=mFztmYUA^;7Rcr)q5l;Wu6mXAEDyr_K#`;qqODh&cnix8jJSU8ET9Lii84Q8t=c4oXg99%c?Chlt712LR- z<5b+B`TSfuRj_w-se1D?#fX=dKvgSts3gL1>ySDvfMTYzKQWiN_rGx7N2dv3w?NXx z6SqX(AE>0~kO8`UNJN$b25}V`i#TD z+P1^2U~~)W(gBkYi+sb10_6zg!}uuF&H~y8;_3ug0tH3W4Xe~{LuU-~7wIm43B6)5 z6fss{U-D#2p^AhWJd|+OF>wpcv6fJ8NXjf)e(ziIg0Ok3D22uij>`hx2^EdN7_(H#u_8p-7YQ* zsnpw0XclOWa>jn6wm9yT`CG)VS!Rg1Rze3nE$m~IHH*mIyl-<7ItZJ`Os&%uIQ^w> zjulxSIs3G5?=V6y;~{wb$+DDl?2cs)(Bsp91N1HZ#^H1B$;UfOi)kjoU-bHyL4)*j zy)@kFB31jV3R?Ewf5WT^3;G0ov|vw1UYE+qVVC!e>A^=Bp}?5S5K{$1ht>>c9eFId zID-w3x?sf-uyMkPC0az;s85PFuCSwJtVZ-$PKzML0x2kQUO)Vg`k5C!1LTN|dsS70 z2s(GVIU8+8hR&TE`8*_`RDyy{`9@gLt;HW92F(oi-L)$Qw{!!_xRE%6lFp!8?s(so z45toY{)tN3`iSl?N$|p6Xky1=`A+pzTg>a{NV)43{vIM$W7BgCfs`KYD&v}! z#oyG_zobsX+HB+lB=+XKS^2~u3Yc|XZ-!_NN$C%PfQBq~Q67q^5&_iQar*%qz~RD_ z_oM|@ljPib-n=nwu56ClWLFu;-nK#;MDAQn8#X-|z;DOj%Le4i1BE!dzc9*77onXcqb;JPg5XrmJqDqD{*-Iolr#`B@+r9(Pt>q~$Mh zGY1f!#P0|O{}LZ^L16lTD0wNQBiwm!N2djI7AkE=NPVofix$kD*}@9+Vv|hnkBUAO zhNby1DOdQ4Z^o6Ra)qN0KTJuKS#eK}xszS)?F=j`QRvuFSy~I9_1d38D{CT7A#y^2 z$9V4I{BK5w6paLN*pXe579)ABA%ZpaJMCggM;?znL+>N!D{0~U1MnJeGL!w_c>|)d7_E{0kqdlL&U+s}zZZfQmhv^~ zIRxg3cb`}^u zxcIw61+xkM^gxHu;)0`<%+KtsnpDCGF#k=h75Prpc8ikVm)QzgNnC@Ha0Fpe@kp~? zpBs$O@_28Im1;{CZ>TN|K6b0!o(jZ_Kzl%^zjx!83{1E?Jf&UI00ec-06k^3w1XmJ z;+@5$pcE^|+&Mp7oJ>~%5WG0nK02IIbZf;+_zgC?f=9%iTX2Bx`G|P(6Pq#-j*S?} z;z0$Au;QJ61apH~F_Z8!>wjtL&7gBxVfYpU$`JAIryFXEm&%4=;oO ze#i59CaN`NA~t(!DHe$Er7(-!IpWRrGrMl53UOvz@=KxAYXj z=3-DrSA@Q(tFEOsPuXjRZs~O~!rbeRnnxu-C~e)c>cY=8r^PK89kL_i#Dj>8OQ^-k BHJtze literal 2671 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 EuC0=GHvj+t literal 3299 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 | grep -v MOVED + bash /home/nru/rdb-to-resp.sh "{{ $dataDir }}/{{ $dbName }}.rdb" "{{$redisVersion}}" | redis-cli {{ if $isCluster }}-c{{end}} -h ${sub_host_name} -p {{ $port }} --pipe {{ if $sslEnabled -}}--tls{{ end }} 2>&1 | grep -v MOVED # rdb -c protocol "{{ $dataDir }}/{{ $dbName }}.rdb" | redis-cli {{ if $isCluster }}-c{{end}} -h ${sub_host_name} -p {{ $port }} --pipe {{ if $sslEnabled -}}--tls{{ end }} 2>&1 | grep -v MOVED echo "... Done piping data to ${sub_host_name} as part of {{ $hostName }} ..." done From 94d5a5aeb45aaffa0dec25b29206dc86371e4034 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Mon, 8 Dec 2025 14:58:20 -0500 Subject: [PATCH 21/58] Changed NodeNorm Exp to use the Dev database. --- .../renci-exp-values-populated.yaml | Bin 3085 -> 3085 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/node-normalization-web-server/renci-exp-values-populated.yaml b/helm/node-normalization-web-server/renci-exp-values-populated.yaml index 3496ed6b3c1c7b77563a6af1c02879ac993e98fb..73ab6da0f3a720741c8ac5ba6f0c798d02d2ab32 100644 GIT binary patch literal 3085 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 bve(;9#HKJjHV!c%AKa`YladaJ-DGMVgLn3B literal 3085 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 b^0MJ`duF0l=%Lc<5!`dOIGO=m4 Date: Mon, 8 Dec 2025 15:10:56 -0500 Subject: [PATCH 22/58] Corrected redis_config.redis_version. --- .../ncats-dev-values.yaml | Bin 2683 -> 2702 bytes .../ncats-prod-values.yaml | Bin 2835 -> 2852 bytes .../ncats-test-values.yaml | Bin 2695 -> 2712 bytes .../renci-dev-values-populated.yaml | Bin 3322 -> 3337 bytes .../renci-exp-values-populated.yaml | Bin 3307 -> 3322 bytes .../templates/loader-pipe-job.yaml | 3 ++- helm/node-normalization-loader/values.yaml | 3 +++ 7 files changed, 5 insertions(+), 1 deletion(-) diff --git a/helm/node-normalization-loader/ncats-dev-values.yaml b/helm/node-normalization-loader/ncats-dev-values.yaml index e5ef7ba40f6920e29ac3e8cd91d73993a57896ca..df806130ff8493a4e569780191a8b03bfcd43704 100644 GIT binary patch literal 2702 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 BHJtze diff --git a/helm/node-normalization-loader/renci-dev-values-populated.yaml b/helm/node-normalization-loader/renci-dev-values-populated.yaml index baedab2bfbdc826e325c34c5bfd35c95c3d9cf00..5abad5e07e954edeef09b47723ef350d9d164524 100644 GIT binary patch literal 3337 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 EuC0=GHvj+t diff --git a/helm/node-normalization-loader/renci-exp-values-populated.yaml b/helm/node-normalization-loader/renci-exp-values-populated.yaml index e401c3623f37a2c7cae08f11dd6bd3c188c10a71..4915457db5cf0e0c2c73641b8280e2ec238b61c9 100644 GIT binary patch literal 3322 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 Date: Mon, 15 Dec 2025 14:28:26 -0500 Subject: [PATCH 23/58] Switched NodeNorm Exp to add-clique-leaders-option for testing. --- .../renci-exp-values-populated.yaml | Bin 3085 -> 3103 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/node-normalization-web-server/renci-exp-values-populated.yaml b/helm/node-normalization-web-server/renci-exp-values-populated.yaml index 73ab6da0f3a720741c8ac5ba6f0c798d02d2ab32..8cd4296f70e0230175c981e18e3c5ba95945be3a 100644 GIT binary patch literal 3103 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 bve(;9#HKJjHV!c%AKa`YladaJ-DGMVgLn3B From e68df3645d7e68b6f7ddedf0b249fc3658017ba7 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 18 Dec 2025 16:58:53 -0500 Subject: [PATCH 24/58] Add a LOGLEVEL to NameRes deployments. --- helm/name-lookup/templates/web-deployment.yaml | 3 +++ helm/name-lookup/values.yaml | 1 + 2 files changed, 4 insertions(+) diff --git a/helm/name-lookup/templates/web-deployment.yaml b/helm/name-lookup/templates/web-deployment.yaml index d0d2ebc12..6cf81dde8 100644 --- a/helm/name-lookup/templates/web-deployment.yaml +++ b/helm/name-lookup/templates/web-deployment.yaml @@ -40,6 +40,9 @@ spec: value: "{{ .Values.app.otel.jaegerHost }}" - name: "JAEGER_PORT" value: "{{ .Values.app.otel.jaegerPort }}" + # Logging level. + - name: LOGLEVEL + value: "{{ .Values.app.logLevel }}" # Babel version information. - name: BABEL_VERSION value: "{{ .Values.data.babelVersion }}" diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index b11a3f9f8..47ea37298 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -97,6 +97,7 @@ app: enabled: false jaegerHost: jaegerPort: + logLevel: INFO nodeSelector: affinity: tolerations: From d3c8d97cd56394a4b616f314f5b81f3c1901bf39 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 18 Dec 2025 16:59:44 -0500 Subject: [PATCH 25/58] Updated Solr to 9 so we use the latest Solr 9 (currently 9.10). --- helm/name-lookup/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index 47ea37298..2d1e37e2f 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -39,7 +39,7 @@ solr: port: 8983 image: repository: solr - tag: 9.1 + tag: 9 resources: # We tried increasing this to 200Gi. It looks like Solr used the following # amounts of memory (as per Sterling Grafana): From c37c8ae9393bb34a01ac469fb0d0b79753735e2f Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 18 Dec 2025 17:17:53 -0500 Subject: [PATCH 26/58] Updated NameRes Exp to use replace-scaled-clique-identifier-count. --- .../renci-exp-values-populated.yaml | Bin 1299 -> 1331 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/name-lookup/renci-exp-values-populated.yaml b/helm/name-lookup/renci-exp-values-populated.yaml index dc9eb07d5fbf8cd00cee9aedf1700cbe9d29086e..1cc89cd35188a865dc7f9d7d5f05f1db8ec2efa9 100644 GIT binary patch literal 1331 zcmV-31=mP%^2 zl{&te4+@0lO~{y>yba*XDuJ^u3Yx{gi#%sfm$fQ%_k5bBRIe0&UbMc6`Ztjn&(rJP z`!^???4m1ubQJkz76zOcsA%E2NaO4Wh>vHF<4eBii4HBQBl*3T+5&1oX}OXA{B%@s zu_e3(;3sfni)%Q|0@42_6w);KHEaRyD&IgKce*hRqDha|V9vr?e>iUg=IPDm=@9uQ zqn=>w*;&f^*4gvuJLbh1WAu}QvV@&IBk;GQ59KiV(mkMnWaxIFm0J)PcoDY4y`=C~Lc{gwZ<^XXDY0r| zI%dZZ5-pG{yBgs7$(i~RpAzPG2}=YJFa{I->yfr!qd3M- zR2pFCjDC8%33>kZmI)+%oJ28oZo5-*-XB58UE8QuL$RG&(?T6Fdy8A#j88Qf=K8+u zUJ70O-ZGq4UN)*c zLu5=F8J=kK;f3oDmR>Oj?_+&MeO-fTFpmd7 z&T10*9n5lKucAURZ|PpSBS;Hgern)~=#@L=_!-3%>z50DzRh#{h%S3Px!8(ShaB_m z!Hf_nIEZ-!J{B)GJAwoQZAj*$@Tm59>k^t3V4@>4$1;>2a9QurWe8g?J$KJW{Ck#j zIQC-s0y1Bk?cFEIvV=wejq+vb42S1Ju2t`%14K=j!BWM=qi*SVZP+M0>u5*7op<)> zp#A|iI;UOj^tS2N&~?<^1W@ipMH3Cul^z5Rm`uyQu+ssRyvPu#UkA!s2hC*Z`(jn% zVnA5>q#a{GhzuJwef-S4pR+>6S2D@Bw0bzjJI?BLFJCZpw0oM&r^>M}>gG}DILm%( zC9NjmwydUZ=4{RSG1^+Ps^!KW|1Q_~PqIBU?j%Z0_ufoEdqPt|S>grwK&(G{o%b_q z^MBY`lR#3QxcSE!AldwsA(fH4`St#ue>wNpG5ryGdjTn`FLSnop~EktGaR^!w6j!TCB zqx(2|jyaC$Mev)6@Z~6e{=+_Ogd2O0PKDuyNWsD%Ejsqgg>idocz?svQ6T literal 1299 zcmV+u1?>6&M@dveQdv+`0DjkxAf|qF3s0(}aw2}xDy$n6I5mP+9p%|m_9Xhc`$5J1 zcetd*dt7(&0+SfJx_!^eF%uA|5*vi$oLvLxYidFBqOvR7s(1g8X?i;S14#nr;@Y8n19^8j9v|t1t~)-kW4{J z{C9p+V@T8}37~VC>C_Kl+Qj4){SSgBA%JC!jG%ONKa(ry(&V4e){%xh*@Zh-KhcS1W8Y1rCz2PpoL4JJnoEq6a#{BI4cU3K`!UW` zPM2`Gaky*+@}#-_@=2xOj6L4e9r>QIwxVdMAd&uZ=DjoIPpi2J2LjS4eW9b}ZC4#K z;c@5+mI5MRkB}ZC0l(P@R*=G5V?j4%c(FQ7JMv=w$rg5WQ_%GRJ6Ru^cdNaxycNas zRs~@%HzSJG_Rc&iBhStTCAsnx?n?yL!9)QSVoqYh*ZRp%v%7^Ke_kRYcVB-ZS*}gy z%KOUPAQrY|2>%V6gCL9U^{6oZ;Y{ zHl$e-1P$Tpq|xFZ>Xqqp@GBHyPy@QtTxt7}D8nqm8U)W#F5p9Szb|Nq=J8faJ5$8b zi_2i48_-SUIXp@B9ay5ImlKsT1@M*}7{$(#!dbsJ&6!8?`J$ZQUS}Kj;V~=$>lgYQ zsBisr(B@Dy8lrL+ z(m6yt5w8i;LO*{%SF*ZA#}vVS29&&t#4Z!C{@J-?^5^d-3;TOgyv|$PirZ5K${NWM z_>ic9>%3~x&?%l~mbD6NMN$(fzXTBRl{=QTg02adKQ$>a>DH<#bns`5P#y2?<7g^% z)<|{ZBi@BGy`;Z3l!ax6sw^{~X9R(eCLYsL%J+(ySwW-Jxf9nW@nN6ZO?BOGs3u$yw$v z7X{o9XHF1HhZ*@2Uipr0;gjlWZ$@+Diqp-=IQ)jh5kb~MORJx0+u9elqOdtHC9Nh_ z`sqs)$DNf>(l2TgTrdZ2o0Vs)m>o3OVIy*2$oNRw%n8d=$$GShbmc9LW4}i&a{&fR JRpKd?ul7oIfV= Date: Thu, 18 Dec 2025 18:03:13 -0500 Subject: [PATCH 27/58] Added a Biolink Model Tag. --- .../templates/web-server-deployment.yaml | 2 ++ helm/node-normalization-web-server/values.yaml | 1 + 2 files changed, 3 insertions(+) diff --git a/helm/node-normalization-web-server/templates/web-server-deployment.yaml b/helm/node-normalization-web-server/templates/web-server-deployment.yaml index d94ae0dad..4bc1fdbf6 100644 --- a/helm/node-normalization-web-server/templates/web-server-deployment.yaml +++ b/helm/node-normalization-web-server/templates/web-server-deployment.yaml @@ -46,6 +46,8 @@ spec: value: "{{ .Values.data.babelVersion }}" - name: "BABEL_VERSION_URL" value: "{{ .Values.data.babelVersionURL }}" + - name: "BIOLINK_MODEL_TAG" + value: "{{ .Values.data.biolinkModelTag }}" - name: "SERVER_ROOT" value: "{{ .Values.web.serverHostName }}" - name: "MATURITY_VALUE" diff --git a/helm/node-normalization-web-server/values.yaml b/helm/node-normalization-web-server/values.yaml index c40c5ec50..3372637e5 100644 --- a/helm/node-normalization-web-server/values.yaml +++ b/helm/node-normalization-web-server/values.yaml @@ -14,6 +14,7 @@ image: data: babelVersion: "2025nov4" babelVersionURL: "https://github.com/ncatstranslator/Babel/blob/master/releases/2025nov4.md" + biolinkModelTag: "v4.3.2" web: port: 8080 From aa74e7b41b5a9e276854922317679790ae1abba8 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 18 Dec 2025 18:35:44 -0500 Subject: [PATCH 28/58] Reverting to Solr 9.1 to see if that can get it to work. --- helm/name-lookup/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index 2d1e37e2f..47ea37298 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -39,7 +39,7 @@ solr: port: 8983 image: repository: solr - tag: 9 + tag: 9.1 resources: # We tried increasing this to 200Gi. It looks like Solr used the following # amounts of memory (as per Sterling Grafana): From d6d22574b40ac530c50c4057294e1c383b5ba498 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 18 Dec 2025 18:38:41 -0500 Subject: [PATCH 29/58] Reverted NCATS Solr to 9.1 as well, just in case. --- helm/name-lookup/ncats-images-meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/name-lookup/ncats-images-meta.yaml b/helm/name-lookup/ncats-images-meta.yaml index 2dc213c27..a8109219d 100644 --- a/helm/name-lookup/ncats-images-meta.yaml +++ b/helm/name-lookup/ncats-images-meta.yaml @@ -4,7 +4,7 @@ nameLookup: solr: image: solr - version: "9" + version: "9.1" renciPythonImage: image: ghcr.io/translatorsri/renci-python-image From 2331d67ea62bec1ddaed4c6d16ca6d18884d14fc Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Fri, 20 Feb 2026 18:08:02 -0500 Subject: [PATCH 30/58] Added a Biolink Model tag to NameRes. --- helm/name-lookup/templates/web-deployment.yaml | 3 +++ helm/name-lookup/values.yaml | 1 + 2 files changed, 4 insertions(+) diff --git a/helm/name-lookup/templates/web-deployment.yaml b/helm/name-lookup/templates/web-deployment.yaml index 6cf81dde8..d9631c1dd 100644 --- a/helm/name-lookup/templates/web-deployment.yaml +++ b/helm/name-lookup/templates/web-deployment.yaml @@ -48,6 +48,9 @@ spec: value: "{{ .Values.data.babelVersion }}" - name: BABEL_VERSION_URL value: "{{ .Values.data.babelVersionURL }}" + # Biolink Model tag. + - name: BIOLINK_MODEL_TAG + value: "{{ .Values.data.biolinkModelTag }}" ports: - name: http containerPort: {{ .Values.webServer.port }} diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index 47ea37298..df19179aa 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -20,6 +20,7 @@ forceRun: false data: babelVersion: 2025nov4 babelVersionURL: https://github.com/ncatstranslator/Babel/blob/master/releases/2025nov4.md + biolinkModelTag: "v4.2.6-rc5" downloader: image: From d62e1500e69713a7896eac17ce2618a85b3361f0 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 26 Feb 2026 15:05:06 -0500 Subject: [PATCH 31/58] Updated renci-exp to fix-ic-for-conflation for testing. --- .../renci-exp-values-populated.yaml | Bin 3103 -> 3099 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/node-normalization-web-server/renci-exp-values-populated.yaml b/helm/node-normalization-web-server/renci-exp-values-populated.yaml index 8cd4296f70e0230175c981e18e3c5ba95945be3a..c91ee87110b012f40f3a1a41433caa80374a30ef 100644 GIT binary patch literal 3099 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 Date: Wed, 15 Jul 2026 03:03:22 -0400 Subject: [PATCH 32/58] Increase NodeNorm info-content DB so accomodate preferred names. --- helm/redis-r3-external/values.yaml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/helm/redis-r3-external/values.yaml b/helm/redis-r3-external/values.yaml index 698ee63f3..298cdc49d 100644 --- a/helm/redis-r3-external/values.yaml +++ b/helm/redis-r3-external/values.yaml @@ -131,14 +131,17 @@ info-content: enabled: true master: persistence: - size: 500Mi + # In NodeNorm 2.5, we add the preferred names to this database. It will probably end up being bigger than + # id-categories (same number of keys, but longer strings than a Biolink type), so I'll give it 200Gi for now, + # and then I will scale it down after the first load tells us how big it actually is. + size: 200Gi resources: limits: - cpu: 150m - memory: 500Mi + cpu: 1500m + memory: 200Gi requests: - cpu: 50m - memory: 250Mi + cpu: 500m + memory: 150Gi readinessProbe: enabled: false startupProbe: From 9a0d577a5a9904e70318afaf5e9b0b7d2af2f294 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 15 Jul 2026 03:21:22 -0400 Subject: [PATCH 33/58] Updated NodeNorm Loader to v2.5.0 and 2026jul15. --- helm/node-normalization-loader/Chart.yaml | 2 +- .../ncats-images-meta.yaml | 2 +- .../renci-dev-values-populated.yaml | Bin 3337 -> 3351 bytes .../renci-exp-values-populated.yaml | Bin 3322 -> 3336 bytes helm/node-normalization-loader/values.yaml | 27 +++++++----------- 5 files changed, 13 insertions(+), 18 deletions(-) diff --git a/helm/node-normalization-loader/Chart.yaml b/helm/node-normalization-loader/Chart.yaml index 2fbeea107..f23607616 100644 --- a/helm/node-normalization-loader/Chart.yaml +++ b/helm/node-normalization-loader/Chart.yaml @@ -23,4 +23,4 @@ version: 0.8.0 # # NodeNorm versions are based on the version of the NodeNorm Docker image concatenated with the # Babel release date. -appVersion: 2.3.28_2025nov4 +appVersion: 2.5.0_2026jul15 diff --git a/helm/node-normalization-loader/ncats-images-meta.yaml b/helm/node-normalization-loader/ncats-images-meta.yaml index 51f68170d..079b0a6b9 100644 --- a/helm/node-normalization-loader/ncats-images-meta.yaml +++ b/helm/node-normalization-loader/ncats-images-meta.yaml @@ -1,3 +1,3 @@ nodeNormalizationLoader: image: "ghcr.io/ncatstranslator/nodenormalization-data-loading" - version: "v2.3.28" + version: "v2.5.0" diff --git a/helm/node-normalization-loader/renci-dev-values-populated.yaml b/helm/node-normalization-loader/renci-dev-values-populated.yaml index 5abad5e07e954edeef09b47723ef350d9d164524..adc2060a929f1c801faa28d5713f342b9cfcc6a4 100644 GIT binary patch literal 3351 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 literal 3322 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 Date: Wed, 15 Jul 2026 03:25:40 -0400 Subject: [PATCH 34/58] Added Food.txt and updated Gene and Publication max file count. --- helm/node-normalization-loader/values.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/helm/node-normalization-loader/values.yaml b/helm/node-normalization-loader/values.yaml index 75851b9c4..a13d1d18e 100644 --- a/helm/node-normalization-loader/values.yaml +++ b/helm/node-normalization-loader/values.yaml @@ -45,6 +45,7 @@ data: - ComplexMolecularMixture.txt - Disease.txt - Drug.txt + - Food.txt - Gene.txt.00 - Gene.txt.01 - Gene.txt.02 @@ -52,6 +53,7 @@ data: - Gene.txt.04 - Gene.txt.05 - Gene.txt.06 + - Gene.txt.07 - GeneFamily.txt - GrossAnatomicalStructure.txt - MacromolecularComplex.txt @@ -81,6 +83,7 @@ data: - Publication.txt.01 - Publication.txt.02 - Publication.txt.03 + - Publication.txt.04 - SmallMolecule.txt.00 - SmallMolecule.txt.01 - SmallMolecule.txt.02 From 6eb045d5b105142eebd746754b327e4cdd5f724a Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 15 Jul 2026 04:01:03 -0400 Subject: [PATCH 35/58] Added a biolink_version to config.json. --- helm/node-normalization-loader/templates/loader-config.yaml | 2 ++ helm/node-normalization-loader/values.yaml | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/helm/node-normalization-loader/templates/loader-config.yaml b/helm/node-normalization-loader/templates/loader-config.yaml index b45ec2a67..c55b61ae1 100644 --- a/helm/node-normalization-loader/templates/loader-config.yaml +++ b/helm/node-normalization-loader/templates/loader-config.yaml @@ -12,6 +12,7 @@ data: "data_files": ["{{$compendia}}"], "test_mode": 0, "debug_messages": 1, + "biolink_version": "{{ .Values.biolink_version }}", "conflations" : [] } {{ end }} @@ -40,6 +41,7 @@ data: "data_files": [], "test_mode": 0, "debug_messages": 1, + "biolink_version": "{{ .Values.biolink_version }}", "conflations" : [ { "types" : {{ $conflation.types | toJson }}, diff --git a/helm/node-normalization-loader/values.yaml b/helm/node-normalization-loader/values.yaml index a13d1d18e..5b142ce1a 100644 --- a/helm/node-normalization-loader/values.yaml +++ b/helm/node-normalization-loader/values.yaml @@ -10,6 +10,10 @@ mode: restore # Log level for loading jobs. logLevel: INFO +# Biolink Model version (any ref from https://github.com/biolink/biolink-model is fine, but this should match the +# version used by the loaded Babel run) +biolink_version: "v4.4.3" + image: repository: "ghcr.io/ncatstranslator/nodenormalization" tag: "v2.5.0" From 339405a324cefe9db7f970aa2457792834c56401 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 15 Jul 2026 05:27:39 -0400 Subject: [PATCH 36/58] Make NodeNorm Redis persistence explicit; disable periodic saves MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The redis-r3-external instances used `--save 300 1000000`, which forks a multi-GB BGSAVE every few minutes throughout a load — pure copy-on-write waste on the 150 GB+ databases. No `save ` policy can snapshot only after a populate finishes without also forking repeatedly during it, so drive persistence explicitly instead: - redis-r3-external: set `save ""` (no automatic RDB snapshots) on all seven instances; keep `appendonly no`. mode:load disables saves at runtime and BGSAVEs manually at the end; mode:restore BGSAVEs at the end of run_pipe.sh. - run_pipe.sh: the end-of-restore BGSAVE was fire-and-forget, so a pod restart could reload a partial/empty dump.rdb. It now triggers BGSAVE and waits for it to complete (LASTSAVE advances, rdb_last_bgsave_status:ok) before the Job exits, failing loudly on error or timeout. Fixes NodeNorm issue #390. See NodeNorm documentation/Loader.md ("Why persistence is explicit, not periodic"). Co-Authored-By: Claude Opus 4.8 --- .../templates/loader-pipe-job.yaml | 23 +++++++- helm/redis-r3-external/values.yaml | 56 ++++++++++++++++--- 2 files changed, 70 insertions(+), 9 deletions(-) diff --git a/helm/node-normalization-loader/templates/loader-pipe-job.yaml b/helm/node-normalization-loader/templates/loader-pipe-job.yaml index 8a5f101fc..d1e53f568 100644 --- a/helm/node-normalization-loader/templates/loader-pipe-job.yaml +++ b/helm/node-normalization-loader/templates/loader-pipe-job.yaml @@ -125,8 +125,27 @@ data: done {{ if not $isCluster }} - # Start a BGSAVE so the database is backed up to disk and ready to be loaded from if necessary. - redis-cli -h {{ $hostName }} -p {{ $port }} {{ if $sslEnabled -}}--tls{{ end }} {{ if $isCluster }}-c{{end}} BGSAVE + # Persist the restored data to disk before this Job exits, so that if the pod + # restarts it reloads a complete dump.rdb instead of coming up empty. A plain + # BGSAVE is fire-and-forget, so we trigger it and then wait for it to actually + # finish and verify it succeeded. The dataset is static once the pipe above + # completes, so the fork is cheap. + REDIS="redis-cli -h {{ $hostName }} -p {{ $port }} {{ if $sslEnabled -}}--tls{{ end }}" + $REDIS CONFIG SET save "" + PREV_SAVE=$($REDIS LASTSAVE) + $REDIS BGSAVE + echo "Waiting for BGSAVE to complete on {{ $hostName }}..." + for i in $(seq 1 900); do + if [ "$($REDIS LASTSAVE)" -gt "$PREV_SAVE" ] 2>/dev/null; then break; fi + if [ "$($REDIS INFO persistence | tr -d '\r' | sed -n 's/^rdb_last_bgsave_status://p')" = "err" ]; then + echo "ERROR: BGSAVE failed on {{ $hostName }}." >&2; exit 1 + fi + sleep 2 + done + if [ "$($REDIS LASTSAVE)" -le "$PREV_SAVE" ] 2>/dev/null; then + echo "ERROR: BGSAVE did not complete within the timeout on {{ $hostName }}." >&2; exit 1 + fi + echo "Restored data persisted to dump.rdb on {{ $hostName }}." {{- end }} # Report success. diff --git a/helm/redis-r3-external/values.yaml b/helm/redis-r3-external/values.yaml index 298cdc49d..7a24a1345 100644 --- a/helm/redis-r3-external/values.yaml +++ b/helm/redis-r3-external/values.yaml @@ -19,7 +19,13 @@ id-id: livenessProbe: enabled: false extraFlags: - - "--save 300 1000000" + # No automatic RDB snapshots. Persistence is explicit: mode:load disables + # saves at runtime and BGSAVEs manually at the end; mode:restore BGSAVEs and + # waits for completion at the end of run_pipe.sh. An automatic `save` policy + # can't fire only after a populate finishes without also forking repeatedly + # *during* it, which is pure copy-on-write waste on these large DBs. See the + # NodeNorm documentation/Loader.md. + - '--save ""' - "--appendonly no" replica: @@ -45,7 +51,13 @@ id-categories: livenessProbe: enabled: false extraFlags: - - "--save 300 1000000" + # No automatic RDB snapshots. Persistence is explicit: mode:load disables + # saves at runtime and BGSAVEs manually at the end; mode:restore BGSAVEs and + # waits for completion at the end of run_pipe.sh. An automatic `save` policy + # can't fire only after a populate finishes without also forking repeatedly + # *during* it, which is pure copy-on-write waste on these large DBs. See the + # NodeNorm documentation/Loader.md. + - '--save ""' - "--appendonly no" replica: @@ -71,7 +83,13 @@ id-eq-id: livenessProbe: enabled: false extraFlags: - - "--save 300 1000000" + # No automatic RDB snapshots. Persistence is explicit: mode:load disables + # saves at runtime and BGSAVEs manually at the end; mode:restore BGSAVEs and + # waits for completion at the end of run_pipe.sh. An automatic `save` policy + # can't fire only after a populate finishes without also forking repeatedly + # *during* it, which is pure copy-on-write waste on these large DBs. See the + # NodeNorm documentation/Loader.md. + - '--save ""' - "--appendonly no" replica: replicaCount: 0 @@ -96,7 +114,13 @@ semantic-count: livenessProbe: enabled: false extraFlags: - - "--save 300 1000000" + # No automatic RDB snapshots. Persistence is explicit: mode:load disables + # saves at runtime and BGSAVEs manually at the end; mode:restore BGSAVEs and + # waits for completion at the end of run_pipe.sh. An automatic `save` policy + # can't fire only after a populate finishes without also forking repeatedly + # *during* it, which is pure copy-on-write waste on these large DBs. See the + # NodeNorm documentation/Loader.md. + - '--save ""' - "--appendonly no" replica: replicaCount: 0 @@ -121,7 +145,13 @@ conflation-db: livenessProbe: enabled: false extraFlags: - - "--save 300 1000000" + # No automatic RDB snapshots. Persistence is explicit: mode:load disables + # saves at runtime and BGSAVEs manually at the end; mode:restore BGSAVEs and + # waits for completion at the end of run_pipe.sh. An automatic `save` policy + # can't fire only after a populate finishes without also forking repeatedly + # *during* it, which is pure copy-on-write waste on these large DBs. See the + # NodeNorm documentation/Loader.md. + - '--save ""' - "--appendonly no" replica: replicaCount: 0 @@ -149,7 +179,13 @@ info-content: livenessProbe: enabled: false extraFlags: - - "--save 300 1000000" + # No automatic RDB snapshots. Persistence is explicit: mode:load disables + # saves at runtime and BGSAVEs manually at the end; mode:restore BGSAVEs and + # waits for completion at the end of run_pipe.sh. An automatic `save` policy + # can't fire only after a populate finishes without also forking repeatedly + # *during* it, which is pure copy-on-write waste on these large DBs. See the + # NodeNorm documentation/Loader.md. + - '--save ""' - "--appendonly no" replica: replicaCount: 0 @@ -174,7 +210,13 @@ chemical-drug-db: livenessProbe: enabled: false extraFlags: - - "--save 300 1000000" + # No automatic RDB snapshots. Persistence is explicit: mode:load disables + # saves at runtime and BGSAVEs manually at the end; mode:restore BGSAVEs and + # waits for completion at the end of run_pipe.sh. An automatic `save` policy + # can't fire only after a populate finishes without also forking repeatedly + # *during* it, which is pure copy-on-write waste on these large DBs. See the + # NodeNorm documentation/Loader.md. + - '--save ""' - "--appendonly no" replica: replicaCount: 0 From 52f0fc101fa14127e2358c773bb100da22715531 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 15 Jul 2026 05:58:23 -0400 Subject: [PATCH 37/58] Incremented Bitnami Redis Helm 23 -> 27 --- helm/redis-r3-external/Chart.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/helm/redis-r3-external/Chart.yaml b/helm/redis-r3-external/Chart.yaml index 5b4425730..0c52b2bd0 100644 --- a/helm/redis-r3-external/Chart.yaml +++ b/helm/redis-r3-external/Chart.yaml @@ -26,31 +26,31 @@ appVersion: "1.17.0" dependencies: - name: redis - version: "23.1.1" + version: "27.0.15" repository: "https://charts.bitnami.com/bitnami" alias: id-id - name: redis - version: "23.1.1" + version: "27.0.15" repository: "https://charts.bitnami.com/bitnami" alias: id-eq-id - name: redis - version: "23.1.1" + version: "27.0.15" repository: "https://charts.bitnami.com/bitnami" alias: id-categories - name: redis - version: "23.1.1" + version: "27.0.15" repository: "https://charts.bitnami.com/bitnami" alias: conflation-db - name: redis - version: "23.1.1" + version: "27.0.15" repository: "https://charts.bitnami.com/bitnami" alias: semantic-count - name: redis - version: "23.1.1" + version: "27.0.15" repository: "https://charts.bitnami.com/bitnami" alias: info-content condition: info-content.enabled - name: redis - version: "23.1.1" + version: "27.0.15" repository: "https://charts.bitnami.com/bitnami" alias: chemical-drug-db From c7ee01526f70ac4ea38ccd4c2e67ec15e7431c70 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 15 Jul 2026 05:59:35 -0400 Subject: [PATCH 38/58] Updated Helm charts and dependency. --- helm/redis-r3-external/Chart.lock | 18 +++++++++--------- .../redis-r3-external/charts/redis-23.1.1.tgz | Bin 114777 -> 0 bytes .../charts/redis-27.0.15.tgz | Bin 0 -> 105921 bytes 3 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 helm/redis-r3-external/charts/redis-23.1.1.tgz create mode 100644 helm/redis-r3-external/charts/redis-27.0.15.tgz diff --git a/helm/redis-r3-external/Chart.lock b/helm/redis-r3-external/Chart.lock index 0443915f1..9f4a704fc 100644 --- a/helm/redis-r3-external/Chart.lock +++ b/helm/redis-r3-external/Chart.lock @@ -1,24 +1,24 @@ dependencies: - name: redis repository: https://charts.bitnami.com/bitnami - version: 23.1.1 + version: 27.0.15 - name: redis repository: https://charts.bitnami.com/bitnami - version: 23.1.1 + version: 27.0.15 - name: redis repository: https://charts.bitnami.com/bitnami - version: 23.1.1 + version: 27.0.15 - name: redis repository: https://charts.bitnami.com/bitnami - version: 23.1.1 + version: 27.0.15 - name: redis repository: https://charts.bitnami.com/bitnami - version: 23.1.1 + version: 27.0.15 - name: redis repository: https://charts.bitnami.com/bitnami - version: 23.1.1 + version: 27.0.15 - name: redis repository: https://charts.bitnami.com/bitnami - version: 23.1.1 -digest: sha256:a3d9a85dbd1e011438ead44845622f6dc576dec48ccde4aeb7f64e66e2bae03c -generated: "2025-10-08T22:44:56.5247-04:00" + version: 27.0.15 +digest: sha256:00172ce941c4d9655677a1afada15c15e77ec886c48ad59f259837c09a165547 +generated: "2026-07-15T05:58:58.740313-04:00" diff --git a/helm/redis-r3-external/charts/redis-23.1.1.tgz b/helm/redis-r3-external/charts/redis-23.1.1.tgz deleted file mode 100644 index ad5de3814af08ea7f7cb020026ad4bf67564af40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114777 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 diff --git a/helm/redis-r3-external/charts/redis-27.0.15.tgz b/helm/redis-r3-external/charts/redis-27.0.15.tgz new file mode 100644 index 0000000000000000000000000000000000000000..af0764d59b0135505d2efeb874a8414c4c7d0c95 GIT binary patch literal 105921 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 z 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

s-w#$K4HjIdDSw3~aIWFWw8 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 Date: Wed, 15 Jul 2026 06:04:51 -0400 Subject: [PATCH 39/58] Updated Redis version to 8.8. --- .../ncats-dev-values.yaml | Bin 2702 -> 2702 bytes .../ncats-prod-values.yaml | Bin 2852 -> 2852 bytes .../ncats-test-values.yaml | Bin 2712 -> 2712 bytes .../renci-dev-values-populated.yaml | Bin 3351 -> 3351 bytes .../renci-exp-values-populated.yaml | Bin 3336 -> 3336 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/node-normalization-loader/ncats-dev-values.yaml b/helm/node-normalization-loader/ncats-dev-values.yaml index df806130ff8493a4e569780191a8b03bfcd43704..f3ad2d948a536efad28be3a337bb3e56e96621f4 100644 GIT binary patch literal 2702 zcmV;93UT!SM@dveQdv+`04)&15;CmL!it;WG6{KbRt79A4EKkj))(^t47^nGc4^6H^4F^Z?8^QCwFgsW!xkYoC}%y{tyWF=Z2^oF^Ofp$l!-eg=u#H;{st7k4|iXlf-Hn2I}js41?Qbx zlJc7`zLsLjMow5E1gyK^o-Pj9dJb)_)=dl|^>I{+XR9v)fXZp1!`@8J$08Fo&qDRT zr&FN5dsvQtSSIgeI6&TOu?>&|ah@t+)a{N*clL6e$B8rvL?Ql}Mc!X#t;G>M-p|7K zO);)C7y!>i2&v~u(*4NSc9{015P8c$M?LTU6i%~FvgLn$Bf$7uDLcxy=LPNzZS83^ zLNBuK!;GxE-Wj{>KjoaDSgm1e`+(^NYC|9k1XklSLfY8VeMXv(mD<*6+!t}oX4$3?zWn~pp5Jb_s( z6%y0+kWT<@*U6x8_rwA12}M^2O0*W~kk%cz^=&3s;O z9C%y}_`-Y9c1x&4en~X)ghQjJcMT{meMZ~D-B-myskr8pdX(_xBHK4xM8ZP4}EZG zBC5}7>P}4WC-wU(_6=x%X$m(yX5Fe-UQu(S{%*wm=5B3&)r6bUEcDT3Z~8kL=wX?E zqs3O-J1Y%8thq?<*G?*!Cs`G03!t{D+riEz+3m0b90Q`ajt#`}0l3w>6TxIe1sKhG zz9@!JKoWd&WMc`~62W!iUN@=r9(DKegtM6}kni`3Qoo-5C6mJ2D4|7@ zg1k(mI}QV-2fps=o3x*WMqXCuB&MH;XM)Ig5O~P#986NX zh6&>HPD-_tpcZL$KCu|(RV4TT65@(_O>y(g2@d3J>?&?O!dMm|_%IUY&2jq@HO-1M zN8Ah{JwcUQjD0NA*ZRx^%{;K0PQ%WsmbEa=TliOEi$l&b0UvaHGjjZZ&h1%XU4r$9 z*cIIW#kHBn0Y_D6;^c8MC?K&lX-K51W1|n~;P{y(uA3TjO7H}91#NblQUXq%BoSSW zp{8gDP-FZC2Yub-UE1xmqsOjySEWj4)<1#-mj41MJ=L)h^AZ0tIujzXCa?A8@NqDwnqKv2T@#_Y=uGrwkp%73CoB;aGfI`)zF-qeun^=x#r!`!Y?SH6ZIrxGJg4B6hdrC>#Jpvhy@jaqLR-WmUk1oh79~IS@j)6HtJ#Kw ziJu98O2xqDELr?#4$Xt(S$06c|t4g&L3$T%99=J8+rfv{$^))_>@N}2$Fz;gci&N$0< zf`H2G#rb!q4>5@^&4PoE2qNa(P8%18FR!~=0zZPHj<9BDVHzS3>9XRqfGSVrVdGuF zMkE>`fm0Cmv8K%|V*40ocyT z24(8pITyf}qV)AQ^Puld@5>!xd&EI@@zGIs2pVluu1OvX#jq3Y*-+fp{n2j- z{^9&cnD=AxqLH|Bj;8BzQwOQq1jX#B(vjbB@IQ{c5luF&ftn6249oF8NHR#R?u29) zC|wvkam<0JIv;&iFEZNu^oEJ23OC)0#mquD#-#%zrz$??=`%s+eD>KYa+ziGKD&_n z;SpsBsl?^{eQnI6kf4j)?#cSMR@q&@(XMFWq9T2DvWG7P$Ws1g&klsaF)&sie60QS zQj2*f`-oDT0;z=IDP&Hm#ZB`adePqd=2)fw*Xj{+B=&dLT3=D5rK9$l;YFiLY`*nZ z|7G{a`;r8T{oI3ma!1HDhGMlFp+5J#v-!QnJpbHe)gC-a0pAzG}@K`H&Z zH$_aSEI4`BjD41VO#Pqk$Py^aB60p1E)&`Gm>H&gh=4K$uxKGpSSFIZ{`?pjrsCI{tH2dj|lSpc|a zvz$n>cdH|7)$RZK!I+roIu1Og7ArgLTyHQODAYp<{7%FJ0v@`1n@ANbJKX{0X~xN9 zPlKCt6D%3Au>?F4YjEaKV!Z literal 2702 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 CS%eb+ literal 2852 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 S|C8WuJHxpzM$$O-X)@j`SV4OL literal 2712 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 hMLESO82*XUHC(|Ho(FBb#Pnct6D7X3nUDYg literal 3351 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 From df7c12868d6cd45069721067067b0c4ba0ca743f Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 15 Jul 2026 06:10:24 -0400 Subject: [PATCH 40/58] Switched nn-loader dev to mode: load. --- .../renci-dev-values-populated.yaml | Bin 3351 -> 3348 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/node-normalization-loader/renci-dev-values-populated.yaml b/helm/node-normalization-loader/renci-dev-values-populated.yaml index cfe8c2b6d9c978910ff0629aa31dd83ce77ae2a6..cd97be29ac5c3c888fd40a255b1cdecf3fca40ad 100644 GIT binary patch literal 3348 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 literal 3351 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 hMLESO82*XUHC(|Ho(FBb#Pnct6D7X3nUDYg From 0e74b10a7143b84a8806fd0e4fbc945eb25ce581 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 15 Jul 2026 07:34:54 -0400 Subject: [PATCH 41/58] Get the Biolink Version from the root scope. --- helm/node-normalization-loader/templates/loader-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helm/node-normalization-loader/templates/loader-config.yaml b/helm/node-normalization-loader/templates/loader-config.yaml index c55b61ae1..5f5caf847 100644 --- a/helm/node-normalization-loader/templates/loader-config.yaml +++ b/helm/node-normalization-loader/templates/loader-config.yaml @@ -12,7 +12,7 @@ data: "data_files": ["{{$compendia}}"], "test_mode": 0, "debug_messages": 1, - "biolink_version": "{{ .Values.biolink_version }}", + "biolink_version": "{{ $.Values.biolink_version }}", "conflations" : [] } {{ end }} @@ -41,7 +41,7 @@ data: "data_files": [], "test_mode": 0, "debug_messages": 1, - "biolink_version": "{{ .Values.biolink_version }}", + "biolink_version": "{{ $.Values.biolink_version }}", "conflations" : [ { "types" : {{ $conflation.types | toJson }}, From 26366fdd5f63328a63c9e02cbddd32680ba9bde5 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 15 Jul 2026 07:36:52 -0400 Subject: [PATCH 42/58] Incremented NodeNorm versions to v2.5.1 --- helm/node-normalization-loader/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helm/node-normalization-loader/values.yaml b/helm/node-normalization-loader/values.yaml index 5b142ce1a..d0e5e790a 100644 --- a/helm/node-normalization-loader/values.yaml +++ b/helm/node-normalization-loader/values.yaml @@ -16,14 +16,14 @@ biolink_version: "v4.4.3" image: repository: "ghcr.io/ncatstranslator/nodenormalization" - tag: "v2.5.0" + tag: "v2.5.1" pullPolicy: Always fullnameOverride: "" # Settings to use for a restore job. restore: repository: "ghcr.io/ncatstranslator/nodenormalization-data-loading" - tag: "v2.5.0" + tag: "v2.5.1" pullPolicy: Always dataDir: "/data" dataSize: 50G From 432c5cd9fe70751e84748402b35a26e4023e868a Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 15 Jul 2026 11:52:37 -0400 Subject: [PATCH 43/58] Updated NodeNorm to 2.5.1 and 2026jul15. --- helm/node-normalization-web-server/Chart.yaml | 2 +- .../ncats-images-meta.yaml | 2 +- .../renci-dev-values-populated.yaml | Bin 3349 -> 3356 bytes .../node-normalization-web-server/values.yaml | 8 ++++---- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/helm/node-normalization-web-server/Chart.yaml b/helm/node-normalization-web-server/Chart.yaml index 53695092a..c55a48261 100644 --- a/helm/node-normalization-web-server/Chart.yaml +++ b/helm/node-normalization-web-server/Chart.yaml @@ -23,4 +23,4 @@ version: 0.4.3 # # NodeNorm versions are based on the version of the NodeNorm Docker image concatenated with the # Babel release date. -appVersion: 2.4.1_2025sep1 +appVersion: 2.5.1_2026jul15 diff --git a/helm/node-normalization-web-server/ncats-images-meta.yaml b/helm/node-normalization-web-server/ncats-images-meta.yaml index c167d0926..6edf709c4 100644 --- a/helm/node-normalization-web-server/ncats-images-meta.yaml +++ b/helm/node-normalization-web-server/ncats-images-meta.yaml @@ -1,4 +1,4 @@ nodeNormalization: image: ghcr.io/ncatstranslator/nodenormalization - version: v2.4.1 + version: v2.5.1 diff --git a/helm/node-normalization-web-server/renci-dev-values-populated.yaml b/helm/node-normalization-web-server/renci-dev-values-populated.yaml index 77820deed7eabbe10ff24e8212168cd77b7718ee..89b8add7c4e8d03ae2dbfe9fc40f6d4b390a3656 100644 GIT binary patch literal 3356 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 literal 3349 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 diff --git a/helm/node-normalization-web-server/values.yaml b/helm/node-normalization-web-server/values.yaml index ecfae4904..4f0c222fb 100644 --- a/helm/node-normalization-web-server/values.yaml +++ b/helm/node-normalization-web-server/values.yaml @@ -8,13 +8,13 @@ image: repository: ghcr.io/ncatstranslator/nodenormalization - tag: v2.4.1 + tag: v2.5.1 pullPolicy: Always data: - babelVersion: "2025nov4" - babelVersionURL: "https://github.com/ncatstranslator/Babel/blob/master/releases/2025nov4.md" - biolinkModelTag: "v4.3.2" + babelVersion: "2026jul15" + babelVersionURL: "https://github.com/ncatstranslator/Babel/blob/master/releases/2026jul15.md" + biolinkModelTag: "v4.4.3" web: port: 8080 From cb0c8bd9d02a16568420ce32228eb23d42f0d233 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 15 Jul 2026 11:53:26 -0400 Subject: [PATCH 44/58] Updated NodeNorm Exp as well. --- .../renci-exp-values-populated.yaml | Bin 3099 -> 3091 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/node-normalization-web-server/renci-exp-values-populated.yaml b/helm/node-normalization-web-server/renci-exp-values-populated.yaml index c91ee87110b012f40f3a1a41433caa80374a30ef..2070d03d0606a9dfed28afe4a9aa3568bc63a52f 100644 GIT binary patch literal 3091 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 literal 3099 zcmV+$4CM0wM@dveQdv+`00gNEuQbK0hEs(Cx**fTF8ea%vzHAg%tllL9wUSJ`kQONf6Qx_k<6iQYDI%P;PV)8T_a|+#?z!$ld z7%*unvp2VqtimB7b>d4zmRUX#b2GWpq~ca}jfpYCP>Xt;`q~IuzyAtJ$OR){d43voikbw$oK-TMsy%}hjT02qw-+$> zKc?i;2dGPJ5g-Zobl2NH*a3GVI`G_4)}FMXA!z(j|WDWY^Tp&Dl0#?Z;^o#`JLFm~S8X5!du76GH>htDjlQ-ewof)<7#vK804 zn!<^p_F39roR%zkzY(Kq9}DaEb^{w&t9Hbqdl5~|91zNxzN}SYdZRz>@{Ir4D`E2l zq+92ce)Y*7Q$TNPl8WBw&)u~PdOC+SnU)t<2(LW=^!wvl=3hhHWzBIXtXl%K;E4`G z-&{E9t0NO(<+$v5a($rfWrAV;_xSicbq{IX;XS=#AZtUY!~c$A$1G@+9CD&u8k>A` z67ucfqD6`cdtp3%uGb-1 z;U2!W6zbZx- zxz^IZh-Z%gPTgi-onznNhk3_l&>=i_Ve-Ql;%Ow4_3m(KggLd*>Ex3WV}$VN36aa9 ziCB}rlKNB)qfcgPseGFxaoI|a>zCxhwKR<;{ z(IJ;TL?ehu@i*g5FON0l2*H4;1rd1QAvl8;?B7ALlax~^uSk-S8pzs|0?T)wUGd)= z$V08G!Mo+hp1&5!6Hq(_+~vGJ$tR6u{St9SU5D=>qhd&O3Y>Bt$QI5bzkPgrX|zS2 zKSyz6iit^IE)!tHr|Dw?-tkM!-G9(R;mezC?O^3k4iyw%0fE~ndFLx_DS^XR6NqN<)#W4JL?}@(R z_2W8hX_3bgrfL|W6jtn{dS|L(BKXL&*pF|_vPzxhyaZxll0|+bM&tPXktH=E8r=*( zL{5`6&CqLMOSR}sglJ?&$2{HYxC6Miw*iOOD;gRPO$TFEy!AUrD~En-yJG@a()^Cj z5w3RVB)=$zDBQ)i%PZEeOZU#O`!6&gQr?A8cI6%ZR0f9%GaS@Kuy9jX{UT4C+YQ39 z-BdTtC|Naq-!8P+=q1t$sn9h>Uw<<>GH=VpOeiHRJ=?xZmT(i5mr_NI2Ylv%%r;@m z8HM`VxFC4s>gq}2!*vVCZj^ey3R3lr?(_CY$_&~;hC-7g_PSZ1zW>&^pX7)~ z)hY`VbSDfNM>8mIfeo|RLnq$uT|PLM-0^nO^|#lH%I391TrO=ZdmF00Pc=bM%{f`A z>)VWzWM@Bs9Itpa&Wc?g;_Lg65a?LQFFEKy9O6$UPg(ig)U@5nRG6+&vo=JpaJ&kA z;xR;oOLTorU8;S8wGG!Y@3*-u;9~&P?(PPOJp+>vY}rp>!Qg%1e{` z1Lw935VI*br>Y+BDFJm?QH~obGVqrju;G%f+A_ppn=8cKV6<4Lqg2hA8r5KK>X`i- zMI+=L{~;;3T4C$P<6kE}{G0j=e^}?8p10c_<@=KULD~=ILB)6(LL$qFh4!$%bR=b? z35x9Ae!e#tOhJiwt^I4!B>9O;<}B~#=$GWW7g`VCoz|hQuo@`3jMjK6TLIZCyARDU^Vd{7Gc?ja^;2a%@yh)e;8aog? z-9vFD@iet4h5isy7LXBf9GghkIuEM668V@Ld(kG!mRMF5ivS?4c)Bb}1EQJSF>?%r zn$ycrUZ->1B#NJ4SJf9N#x$rNkm(f=`jAM*83U&yn4B&ulfPv|Ga;mY%pe|aS1ZI8 zuF(io(ub7|f`ML|5p%e3@r;pQM4=KX8P4N1!%itE&Mfe=jMe$8qcDG;^w#k>g3?0N zZ@Ej$_(6tIFCy-m#-!QpZZW_k*`+3TdZYmMkyQRe8sOHT7O7E`@XB*=0ysP*{S;}e zVUa&t;qgcP!rSFpQ>-gB<`3HPQfbt zMcd9LDEJS@EQSLcbLKXEm`R)G7tjo$x5JJ1Hr|Qdq`fm&V`3a~gn?PwO$40a;iLWu zlT&453ox1|-k2~CvA~r7yCssjylk^QbJOa|8FUuR1mt_GU(6vlkR|>nB$uf6jS*|B z6yk!h^z}P~b#v@ns?bE`UM-byfr~LB)#D&);n+#-$4Cy=uAPAh ze%LQF7DNUU4imH!5U*9_Mw2B=N6XEKE06T%wl?B+<^v}FZXAH(xAWz-5b7AgGEHi% z;KqsO#cp%Jct15Rj%jlB5%cE=4LQ2Y=<9q=MBCxc-I3TZBM&*vrZ( Date: Thu, 16 Jul 2026 10:33:20 -0400 Subject: [PATCH 45/58] @Claude-generated changes to the Solr load process. Goes with https://github.com/NCATSTranslator/NameResolution/pull/278 -- in that we can't make these changes until we switch to that process. --- helm/name-lookup/templates/restore-job.yaml | 6 +- .../templates/scripts-config-map.yaml | 195 +++--------------- .../templates/solr-deployment.yaml | 5 +- helm/name-lookup/values.yaml | 9 +- 4 files changed, 39 insertions(+), 176 deletions(-) diff --git a/helm/name-lookup/templates/restore-job.yaml b/helm/name-lookup/templates/restore-job.yaml index 1f7eb30d3..4135f8d7f 100644 --- a/helm/name-lookup/templates/restore-job.yaml +++ b/helm/name-lookup/templates/restore-job.yaml @@ -23,10 +23,8 @@ spec: requests: storage: {{ .Values.blocklist.storage }} {{ end }} - # Because of the way in which the Restore Job works -- by creating fields in - # the Solr database, including copy fields -- it can no longer be re-run on - # failure. Instead, it should fail so we can look at the error output and - # figure out what to do next. + # The restore job now only deletes blocklisted CURIEs (the schema and data + # come baked into the backup), so it is idempotent and safe to re-run. restartPolicy: Never containers: - name: restore-container diff --git a/helm/name-lookup/templates/scripts-config-map.yaml b/helm/name-lookup/templates/scripts-config-map.yaml index 353c8df34..02e97acc8 100644 --- a/helm/name-lookup/templates/scripts-config-map.yaml +++ b/helm/name-lookup/templates/scripts-config-map.yaml @@ -9,21 +9,37 @@ data: #!/bin/bash set -xa DATA_DIR="/var/solr/data" - BACKUP_NAME="snapshot.backup" - BACKUP_ZIP="${BACKUP_NAME}.tar.gz" + CORE_DIR="${DATA_DIR}/name_lookup" + BACKUP_ZIP="${DATA_DIR}/snapshot.backup.tar.gz" BACKUP_URL="{{ .Values.dataUrl }}" - rm -rf $DATA_DIR/* + # The backup is a self-contained Solr core (config + schema + index). If it is + # already extracted, keep it: this makes the init container idempotent, so a + # pod restart does not wipe a good core and leave Solr empty + # (translator-devops#609). + if [ -f "${CORE_DIR}/core.properties" ]; then + echo "Core already present at ${CORE_DIR}; skipping download." + exit 0 + fi + + # Otherwise start clean and download. + rm -rf ${DATA_DIR}/* # Download the file with retries if the download fails or if there is an existing file we can continue. - wget -c --progress=dot:giga --tries=10 --waitretry=10 --timeout=60 --read-timeout=30 -O $DATA_DIR/$BACKUP_ZIP $BACKUP_URL + wget -c --progress=dot:giga --tries=10 --waitretry=10 --timeout=60 --read-timeout=30 -O ${BACKUP_ZIP} ${BACKUP_URL} - cd $DATA_DIR - tar -xf $DATA_DIR/$BACKUP_ZIP -C $DATA_DIR - rm $DATA_DIR/$BACKUP_ZIP + # Extract the core into the Solr home. Solr auto-discovers name_lookup on startup, + # with its schema and config baked in -- nothing else to set up. + tar -xf ${BACKUP_ZIP} -C ${DATA_DIR} + rm ${BACKUP_ZIP} restore.sh: |- #!/bin/sh + # + # The backup already contains the loaded index AND the schema/config, so there + # is no collection to create, no replication restore, and no fields to add. The + # only post-restore work is deleting blocklisted CURIEs, if a blocklist is set. + # (This makes the job idempotent and safe to re-run -- see NameResolution#185.) BLOCKLIST_DIR="/var/blocklist" BLOCKLIST_CHUNK_SIZE=500 @@ -46,176 +62,19 @@ data: COLLECTION_NAME="name_lookup" SOLR_SERVER=http://{{ include "name-lookup.fullname" . }}-solr-svc:{{ .Values.solr.service.port }} - # liveliness check - - HEALTH_ENDPOINT=http://{{ include "name-lookup.fullname" . }}-solr-svc:{{ .Values.solr.service.port }}/solr/admin/cores?action=STATUS + # Wait for Solr and the auto-discovered core to be ready. + HEALTH_ENDPOINT=${SOLR_SERVER}/solr/${COLLECTION_NAME}/admin/ping response=$(wget --spider --server-response ${HEALTH_ENDPOINT} 2>&1 | grep "HTTP/" | awk '{ print $2 }') >&2 until [ "$response" = "200" ]; do response=$(wget --spider --server-response ${HEALTH_ENDPOINT} 2>&1 | grep "HTTP/" | awk '{ print $2 }') >&2 - echo " -- SOLR is unavailable - sleeping" - sleep 3 - done - - # solr is ready Now we create collection if it doesn't exist - - EXISTS=$(wget -O - ${SOLR_SERVER}/solr/admin/collections?action=LIST | grep name_lookup) - - # create collection / shard - if [ -z "$EXISTS" ] - then - wget -O- ${SOLR_SERVER}/solr/admin/collections?action=CREATE'&'name=${COLLECTION_NAME}'&'numShards=1'&'replicationFactor=1 + echo " -- SOLR is unavailable - sleeping" sleep 3 - fi - - # Setup fields for search - wget --post-data '{"set-user-property": {"update.autoCreateFields": "false"}}' \ - --header='Content-Type:application/json' \ - -O- ${SOLR_SERVER}/solr/${COLLECTION_NAME}/config - sleep 1 - - # Restore data - BACKUP_NAME="backup" - CORE_NAME=${COLLECTION_NAME}_shard1_replica_n1 - RESTORE_URL=${SOLR_SERVER}/solr/${CORE_NAME}/replication?command=restore'&'location=/var/solr/data/var/solr/data/'&'name=${BACKUP_NAME} - wget -O - $RESTORE_URL - sleep 10 - RESTORE_STATUS=$(wget -q -O - ${SOLR_SERVER}/solr/${CORE_NAME}/replication?command=restorestatus 2>&1 | grep "success") >&2 - echo "Restore status: " $RESTORE_STATUS - until [ ! -z $RESTORE_STATUS ] ; do - echo "restore not done , probably still loading. Note: if this takes too long please check solr health" - RESTORE_STATUS=$(wget -O - ${SOLR_SERVER}/solr/${CORE_NAME}/replication?command=restorestatus 2>&1 | grep "success") >&2 - sleep 10 done - echo "restore done" - wget --post-data '{ - "add-field-type" : { - "name": "LowerTextField", - "class": "solr.TextField", - "positionIncrementGap": "100", - "analyzer": { - "tokenizer": { - "class": "solr.StandardTokenizerFactory" - }, - "filters": [{ - "class": "solr.LowerCaseFilterFactory" - }] - } - }}' \ - --header='Content-Type:application/json' \ - -O- ${SOLR_SERVER}/solr/${COLLECTION_NAME}/schema - sleep 1 - # exactish type taken from https://stackoverflow.com/a/29105025/27310 - wget --post-data '{ - "add-field-type" : { - "name": "exactish", - "class": "solr.TextField", - "analyzer": { - "tokenizer": { - "class": "solr.KeywordTokenizerFactory" - }, - "filters": [{ - "class": "solr.LowerCaseFilterFactory" - }] - } - }}' \ - --header='Content-Type:application/json' \ - -O- ${SOLR_SERVER}/solr/${COLLECTION_NAME}/schema - sleep 1 - wget --post-data '{ - "add-field": [ - { - "name":"names", - "type":"LowerTextField", - "stored": true, - "multiValued": true - }, - { - "name":"names_exactish", - "type":"exactish", - "indexed":true, - "stored":true, - "multiValued":true - }, - { - "name":"curie", - "type":"string", - "stored":true - }, - { - "name": "preferred_name", - "type": "LowerTextField", - "stored": true - }, - { - "name": "preferred_name_exactish", - "type": "exactish", - "indexed": true, - "stored": false, - "multiValued": false - }, - { - "name": "types", - "type": "string", - "stored": true, - "multiValued": true - }, - { - "name":"taxon_specific", - "type":"boolean", - "stored":true, - "multiValued":false, - "sortMissingLast":true - }, - { - "name": "shortest_name_length", - "type": "pint", - "stored": true - }, - { - "name": "curie_suffix", - "type": "plong", - "docValues": true, - "stored": true, - "required": false, - "sortMissingLast": true - }, - { - "name": "taxa", - "type": "string", - "stored": true, - "multiValued": true - }, - { - "name": "clique_identifier_count", - "type": "pint", - "stored": true - } - ] - }' \ - --header='Content-Type:application/json' \ - -O- ${SOLR_SERVER}/solr/${COLLECTION_NAME}/schema - sleep 1 - wget --post-data '{ - "add-copy-field" : { - "source": "names", - "dest": "names_exactish" - }}' \ - --header='Content-Type:application/json' \ - -O- ${SOLR_SERVER}/solr/${COLLECTION_NAME}/schema - wget --post-data '{ - "add-copy-field" : { - "source": "preferred_name", - "dest": "preferred_name_exactish" - }}' \ - --header='Content-Type:application/json' \ - -O- ${SOLR_SERVER}/solr/${COLLECTION_NAME}/schema - sleep 1 + echo "Solr core ${COLLECTION_NAME} is up." # Delete the blocklist terms from the Solr database. {{ if .Values.blocklist.url }} - BLOCKLIST_DIR=/var/blocklist - # Split the blocklist into files of 500 CURIEs each. rm -rf ${BLOCKLIST_DIR}/blocklist_* split -l ${BLOCKLIST_CHUNK_SIZE} ${BLOCKLIST_DIR}/blocklist.txt ${BLOCKLIST_DIR}/blocklist_ diff --git a/helm/name-lookup/templates/solr-deployment.yaml b/helm/name-lookup/templates/solr-deployment.yaml index b7cccbd8d..57b1ebe5e 100644 --- a/helm/name-lookup/templates/solr-deployment.yaml +++ b/helm/name-lookup/templates/solr-deployment.yaml @@ -44,9 +44,10 @@ spec: containers: - name: {{ .Chart.Name }} image: "{{ .Values.solr.image.repository }}:{{ .Values.solr.image.tag }}" + # Standalone mode: no -DzkRun/ZooKeeper. The backup is a self-contained + # core that the download init-container extracts into /var/solr/data, so + # Solr auto-discovers name_lookup on startup with its schema baked in. args: - - '-DzkRun' - - '-DzkClientTimeout=5000' - '-q' - '-Dlog4j2.disable.jmx=true' - '-Dlog4j2.formatMsgNoLookups=true' diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index df19179aa..c9b36f15d 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -40,7 +40,8 @@ solr: port: 8983 image: repository: solr - tag: 9.1 + # Must be >= the Solr version that built the backup (data-loading/Dockerfile). + tag: 9.10.0 resources: # We tried increasing this to 200Gi. It looks like Solr used the following # amounts of memory (as per Sterling Grafana): @@ -70,7 +71,11 @@ solr: affinity: tolerations: - heap_mem: "-Xms30G -Xmx30G" + # Keep the JVM heap well below the pod's memory limit so the rest stays available + # for the OS page cache, which is what actually keeps the ~127Gi index fast (Lucene + # relies on it). See NameResolution#265 -- raising the memory limit above and tuning + # the exact heap is tracked there and should be validated under query load. + heap_mem: "-Xms16G -Xmx16G" gc: "-XX:NewSize=4G -XX:MaxNewSize=4G -XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:+UnlockExperimentalVMOptions -XX:G1MaxNewSizePercent=40 -XX:G1NewSizePercent=5 -XX:G1HeapRegionSize=32M -XX:InitiatingHeapOccupancyPercent=90" # As of Babel 2023jul13, we need 130G to store the From 3a64779d1b37102135db2924208d70ddf127271f Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 22 Jul 2026 12:37:05 -0400 Subject: [PATCH 46/58] Reduced memory usage for info-content. --- helm/redis-r3-external/values.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/helm/redis-r3-external/values.yaml b/helm/redis-r3-external/values.yaml index 7a24a1345..4a6c3950f 100644 --- a/helm/redis-r3-external/values.yaml +++ b/helm/redis-r3-external/values.yaml @@ -162,16 +162,16 @@ info-content: master: persistence: # In NodeNorm 2.5, we add the preferred names to this database. It will probably end up being bigger than - # id-categories (same number of keys, but longer strings than a Biolink type), so I'll give it 200Gi for now, - # and then I will scale it down after the first load tells us how big it actually is. + # id-categories (same number of keys, but longer strings than a Biolink type), but as of 2025jul15 it is + # about 58G max memory. size: 200Gi resources: limits: cpu: 1500m - memory: 200Gi + memory: 100Gi requests: cpu: 500m - memory: 150Gi + memory: 70Gi readinessProbe: enabled: false startupProbe: From 1141a21f09d54fcb11f947c3984cb9164dc7a7ba Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 22 Jul 2026 12:40:25 -0400 Subject: [PATCH 47/58] Updated Babel loader to 2026jul22 --- helm/node-normalization-loader/Chart.yaml | 2 +- .../ncats-images-meta.yaml | 2 +- .../renci-dev-values-populated.yaml | Bin 3348 -> 3348 bytes .../renci-exp-values-populated.yaml | Bin 3336 -> 3336 bytes helm/node-normalization-loader/values.yaml | 18 +++++++++--------- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/helm/node-normalization-loader/Chart.yaml b/helm/node-normalization-loader/Chart.yaml index f23607616..32660561b 100644 --- a/helm/node-normalization-loader/Chart.yaml +++ b/helm/node-normalization-loader/Chart.yaml @@ -23,4 +23,4 @@ version: 0.8.0 # # NodeNorm versions are based on the version of the NodeNorm Docker image concatenated with the # Babel release date. -appVersion: 2.5.0_2026jul15 +appVersion: 2.5.1_2026jul22 diff --git a/helm/node-normalization-loader/ncats-images-meta.yaml b/helm/node-normalization-loader/ncats-images-meta.yaml index 079b0a6b9..021d7dae3 100644 --- a/helm/node-normalization-loader/ncats-images-meta.yaml +++ b/helm/node-normalization-loader/ncats-images-meta.yaml @@ -1,3 +1,3 @@ nodeNormalizationLoader: image: "ghcr.io/ncatstranslator/nodenormalization-data-loading" - version: "v2.5.0" + version: "v2.5.1" diff --git a/helm/node-normalization-loader/renci-dev-values-populated.yaml b/helm/node-normalization-loader/renci-dev-values-populated.yaml index cd97be29ac5c3c888fd40a255b1cdecf3fca40ad..4da1cba68169d4fd61377ee397a865f8a9f1e446 100644 GIT binary patch literal 3348 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 literal 3348 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 diff --git a/helm/node-normalization-loader/renci-exp-values-populated.yaml b/helm/node-normalization-loader/renci-exp-values-populated.yaml index ab0f67110c6d79a61f50e9c08f2dcde55e500e54..1ec13bf78a63ed4b1c0ea945a3f1ca226aafab33 100644 GIT binary patch literal 3336 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 SCMG;9}ixFY#1eG2Y09d literal 3336 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 SC+C@a)**ao Date: Wed, 22 Jul 2026 17:43:54 -0400 Subject: [PATCH 48/58] Updated NodeNorm Web to 2026jul22. --- helm/node-normalization-web-server/Chart.yaml | 2 +- .../renci-dev-values-populated.yaml | Bin 3356 -> 3356 bytes .../renci-exp-values-populated.yaml | Bin 3091 -> 3091 bytes .../node-normalization-web-server/values.yaml | 4 ++-- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/helm/node-normalization-web-server/Chart.yaml b/helm/node-normalization-web-server/Chart.yaml index c55a48261..d76a376f6 100644 --- a/helm/node-normalization-web-server/Chart.yaml +++ b/helm/node-normalization-web-server/Chart.yaml @@ -23,4 +23,4 @@ version: 0.4.3 # # NodeNorm versions are based on the version of the NodeNorm Docker image concatenated with the # Babel release date. -appVersion: 2.5.1_2026jul15 +appVersion: 2.5.1_2026jul22 diff --git a/helm/node-normalization-web-server/renci-dev-values-populated.yaml b/helm/node-normalization-web-server/renci-dev-values-populated.yaml index 89b8add7c4e8d03ae2dbfe9fc40f6d4b390a3656..5f9d67360bbaeb26b8066f9e22ea553e66d11f7e 100644 GIT binary patch literal 3356 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 diff --git a/helm/node-normalization-web-server/renci-exp-values-populated.yaml b/helm/node-normalization-web-server/renci-exp-values-populated.yaml index 2070d03d0606a9dfed28afe4a9aa3568bc63a52f..3cbd65ee25acbd8aedb8bbd7be6e2b20a8a8611a 100644 GIT binary patch literal 3091 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 literal 3091 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 diff --git a/helm/node-normalization-web-server/values.yaml b/helm/node-normalization-web-server/values.yaml index 4f0c222fb..87b7bca37 100644 --- a/helm/node-normalization-web-server/values.yaml +++ b/helm/node-normalization-web-server/values.yaml @@ -12,8 +12,8 @@ image: pullPolicy: Always data: - babelVersion: "2026jul15" - babelVersionURL: "https://github.com/ncatstranslator/Babel/blob/master/releases/2026jul15.md" + babelVersion: "2026jul22" + babelVersionURL: "https://github.com/ncatstranslator/Babel/blob/master/releases/2026jul22.md" biolinkModelTag: "v4.4.3" web: From e4b107cd1e0a282bdd661f00889f4713767534b6 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 23 Jul 2026 03:43:08 -0400 Subject: [PATCH 49/58] Relaxed Solr to 9.10 --- helm/name-lookup/values.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index c9b36f15d..e125068ae 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -40,8 +40,9 @@ solr: port: 8983 image: repository: solr - # Must be >= the Solr version that built the backup (data-loading/Dockerfile). - tag: 9.10.0 + # Solr load happens using Solr 9.10.0 version, but any Solr 9.10.x should be able to + # load that database. This allows our frontline database to pick up minor updates. + tag: 9.10 resources: # We tried increasing this to 200Gi. It looks like Solr used the following # amounts of memory (as per Sterling Grafana): From 42d499a2187e5062e0fd129b85d525b76a11b574 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 23 Jul 2026 03:46:34 -0400 Subject: [PATCH 50/58] Updated NameRes to v1.7.0 (Babel 2026jul22). --- helm/name-lookup/Chart.yaml | 2 +- helm/name-lookup/ncats-images-meta.yaml | 4 ++-- .../renci-dev-values-populated.yaml | Bin 930 -> 931 bytes .../renci-exp-values-populated.yaml | Bin 1331 -> 1334 bytes helm/name-lookup/values.yaml | 10 +++++----- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/helm/name-lookup/Chart.yaml b/helm/name-lookup/Chart.yaml index 59b70d8c4..04b3f6eb8 100644 --- a/helm/name-lookup/Chart.yaml +++ b/helm/name-lookup/Chart.yaml @@ -21,4 +21,4 @@ version: 0.5.2 # # NameRes versions are based on the version of the NameRes Docker image concatenated with the # Babel release date. -appVersion: 1.6.0_2025nov4 +appVersion: 1.7.0_2026jul22 diff --git a/helm/name-lookup/ncats-images-meta.yaml b/helm/name-lookup/ncats-images-meta.yaml index a8109219d..552714dbe 100644 --- a/helm/name-lookup/ncats-images-meta.yaml +++ b/helm/name-lookup/ncats-images-meta.yaml @@ -1,10 +1,10 @@ nameLookup: image: ghcr.io/ncatstranslator/nameresolution - version: v1.6.0 + version: v1.7.0 solr: image: solr - version: "9.1" + version: "9.10" renciPythonImage: image: ghcr.io/translatorsri/renci-python-image diff --git a/helm/name-lookup/renci-dev-values-populated.yaml b/helm/name-lookup/renci-dev-values-populated.yaml index 107bcaae74dfa2b343764f9ac6fe2bd982d1afb5..6b1c8fc9b865cd5353c16dc595565d653d93241c 100644 GIT binary patch literal 931 zcmV;U16=$7M@dveQdv+`0M8B8&sow}FGZ3Su0opL-rXJM@KWF(trgl@FY$MC%7gV& z3fFkYK06=oMNXLiQo|&bA`N@{(eP#pKP2X=SJ#=UCrb5@2ljp%`E zPp;t%Bb`5o;QuNURSj#acHDifhN)dQJ{f@;saez8A>VkHhX-Fe>g^3&Q#Rr4kS@k; z7t(>w(gU(=g(CrqDWj#Amz32o{Nbiq{M>Tw0^lPe6e}Q$+U?3uT4#Eu{}dPjGyXqh z4J)9%wz?8sjFo>1?<0fKFFdsDM?=0Qo4~v0(AoYw@AxN{Tjka5#)YHZZ{nDW2k6Dl z|7zfNkHtLR$Cs)8gnflx1?{QL0>f_%$E0pqxU1+bL0=&szkLWimZ5fOsrMl>&5%J5OZ<1ICebNlA4W= z1uPYho8xX5Hgyxf_c4O5hG?pm3&tq$ZE>Q5Eg`Y!t||B`SY=rDc!TT+zw6Gkbf4T? z3awqW=9*EdYGFa9$S)_*`#6ff(QeY#&W~*eXmP8mgU1*doZ9aoNGPu_WB(d`)~g zk3AHR>ZPOW{vMpOF_k&rW;q;Pune3fgD`PjdQ>`dXTOb zeRSgp5zaaR6WhEbSc6(c9_W&|Wv6@iE|Jdyl~OvD0DG2N6IsxOk#byEZl%?#1fS`T FP$k-X+f)Dm literal 930 zcmV;T16}+8M@dveQdv+`0E3%EU-&((xSF$rPdJ#?Wa<4JLuR6dAblRGvLnQy0|&ub z7Ll_tzxc5c48$~qzihT{+1ehsYP9ds?Huc^eQpwF>#5MIjl>wCAZoaNIz5@=QL zm91Uyb%yBPH8}baH|_Ua=m@*O0mvhz?!Ww)>$SmHmM*SylI}30CSfl)a-Ye+;yFvY zCL&in6}?3i5W&F74{sOpSLtj;MIlos%iM7~44G^>i)uCW3cN_`EGbD}-|c$UMlxX# zw74@_zEzbXzy{aQA~63wf|7F%9Go@H2$G{{^&QZ0R3Wz3G&U9iY1H7KJ4+*rufxKM zX=T=fuV@e@mOmsYqsCu-fS`T|MsvO|DdN$MRL*IFl-<1*S1*21NE&bJ%*_?hfmuO= zmX`4~<8a9m_hf17?kXZ6XpUW7vJ{n)*K z)gDA*Xts-^)K$GFW6`LPEU9qmg~vQsy#2su&SSAaj9~Z?)#Sg$GAotIXpWCS&m&`9 zg@5lVHkEGs+Z(o~LJf%42E*;Abl9GX^V;Fr))4WQ^AJ^$fC_BF2;x#y9wpT3@UYHv z4n@*(O#bG?y?Fm=*x5csS&>m{e;O-EC9+p8mE-|y#1y|J_n>JHJyXgn{EtJFQ!jGW zmw%uQ0&hxYcGnQr_!bfJU5&oqzkwGeg6FemdL(!4l>P?HN+PNAB&u}CoYR~#Ao9Gm;`ZKzCzJw z39r&+*1LajlCe}F?Uosk_2gYB8z>(tcCHO}8^WBcK;i@tcFt}Hj}9mS)QM)ms`41v zb!AKQZ!9~m=*kcng^|Vh##mwXjZ%}#!-#=UTC@ApAyN-aoXP+tF{j@WFVI$%bfbZ| Epg+RKzyJUM diff --git a/helm/name-lookup/renci-exp-values-populated.yaml b/helm/name-lookup/renci-exp-values-populated.yaml index 1cc89cd35188a865dc7f9d7d5f05f1db8ec2efa9..943583c7f7a41e4c2aafe43aaf377a3efbc4474d 100644 GIT binary patch literal 1334 zcmV-61#O6Haq^K&xLIE!Ym}yLqJO)u9_&DH7N-Y`!eL*D20IKtqA`!7 z-F8P^;26N8c!KcQSBKiYY=4%253f-YZHKm&{m+4E$nt&ZA)3p`g8u9>Wb)`*X3YNR z9S)n|nt3c-}t(5ftU@Xrfr;nz<2yYmIrRWBaMN^E=Lg3rp zKIebu%22J@=%2)P*C&-vLeCw{+7x{&F))REz=aUOAfUm-0|BP~%ft<&L)=52H4pEq z>$Gy;pa*}qwwgqY&>D*J=8x^th2FG|FcP^&3P#a{+%d&1Y-xw3h&ukns2Ws{}y=oWh zOu*OQ3AH`U(CCn1lSyxzS0kq@cG7FqT5aKhrN9nFQzs{#7B39GiXu_#lmp;9Jyn zl)Wm$4)uO?DP8?s$h?1o)9%MP7PoI6f@kCOm=i{pM_ixwy;3QTI~^PN-qBTJOjzJM zlVLsa&U0)X=eQ=}f@2!nCM;gzg^Nxy0aRSa4Q*;aVTiIy@6pLT+h0!X-*8U?8SJ)K zOG-bF!%?F~89;>{JjN|VwK{agXX-sxMEW#{Jus}Ru(cU*8jLBBcuMH_bf0g1?B?ry z&}D^9>h!Hj$<1r0Y3y831VeLklUFqb;slju&>{^Ue>7n;HdZCkS=ASB%@4%8d{de52@GG#9g0x!o!^p<-5 zFZ^>j|A<`2sYis|u!A4$jLUaz?XTv;{hoTyVVF}*x+T_n3$>bT?!JLoe27;Oee{TD z)U*VRHfAvWz?qU^4g_Eq?RvuOkp&|rk7GqZ+YiK(VIS& zZQG+iS(Yo^Ib^EFX_;MvR~<^xSTrqtU>cMZ;m-GUP8HAR(X#)vkHKhZ*a%!gu|*WL zoY;J3KT^2roh>Vp;D`v@iZ{=vUvDb7O>o98u#w*10hqgq;cdx#FM#AJ3M5YIa=b+Y s_(}FSlsz^r<#Ui=!wyL=4|1W@XDJ|aG!f4+yU-J0+=mP%^2 zl{&te4+@0lO~{y>yba*XDuJ^u3Yx{gi#%sfm$fQ%_k5bBRIe0&UbMc6`Ztjn&(rJP z`!^???4m1ubQJkz76zOcsA%E2NaO4Wh>vHF<4eBii4HBQBl*3T+5&1oX}OXA{B%@s zu_e3(;3sfni)%Q|0@42_6w);KHEaRyD&IgKce*hRqDha|V9vr?e>iUg=IPDm=@9uQ zqn=>w*;&f^*4gvuJLbh1WAu}QvV@&IBk;GQ59KiV(mkMnWaxIFm0J)PcoDY4y`=C~Lc{gwZ<^XXDY0r| zI%dZZ5-pG{yBgs7$(i~RpAzPG2}=YJFa{I->yfr!qd3M- zR2pFCjDC8%33>kZmI)+%oJ28oZo5-*-XB58UE8QuL$RG&(?T6Fdy8A#j88Qf=K8+u zUJ70O-ZGq4UN)*c zLu5=F8J=kK;f3oDmR>Oj?_+&MeO-fTFpmd7 z&T10*9n5lKucAURZ|PpSBS;Hgern)~=#@L=_!-3%>z50DzRh#{h%S3Px!8(ShaB_m z!Hf_nIEZ-!J{B)GJAwoQZAj*$@Tm59>k^t3V4@>4$1;>2a9QurWe8g?J$KJW{Ck#j zIQC-s0y1Bk?cFEIvV=wejq+vb42S1Ju2t`%14K=j!BWM=qi*SVZP+M0>u5*7op<)> zp#A|iI;UOj^tS2N&~?<^1W@ipMH3Cul^z5Rm`uyQu+ssRyvPu#UkA!s2hC*Z`(jn% zVnA5>q#a{GhzuJwef-S4pR+>6S2D@Bw0bzjJI?BLFJCZpw0oM&r^>M}>gG}DILm%( zC9NjmwydUZ=4{RSG1^+Ps^!KW|1Q_~PqIBU?j%Z0_ufoEdqPt|S>grwK&(G{o%b_q z^MBY`lR#3QxcSE!AldwsA(fH4`St#ue>wNpG5ryGdjTn`FLSnop~EktGaR^!w6j!TCB zqx(2|jyaC$Mev)6@Z~6e{=+_Ogd2O0PKDuyNWsD%Ejsqgg>idocz?svQ6T diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index e125068ae..e1d9fb7ad 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -13,14 +13,14 @@ webServer: port: 2433 image: repository: ghcr.io/ncatstranslator/nameresolution - tag: v1.6.0 + tag: v1.7.0 -dataUrl: "https://stars.renci.org/var/babel_outputs/2025nov4/nameres/snapshot.backup.tar.gz" +dataUrl: "https://stars.renci.org/var/babel_outputs/2026jul22/nameres/snapshot.backup.tar.gz" forceRun: false data: - babelVersion: 2025nov4 - babelVersionURL: https://github.com/ncatstranslator/Babel/blob/master/releases/2025nov4.md - biolinkModelTag: "v4.2.6-rc5" + babelVersion: 2026jul22 + babelVersionURL: https://github.com/ncatstranslator/Babel/blob/master/releases/2026jul22.md + biolinkModelTag: "v4.4.3" downloader: image: From e856ec5beac38ab2e3b65cefa45137bae687f7be Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 23 Jul 2026 13:31:12 -0400 Subject: [PATCH 51/58] If this isn't a major change, I don't know what is. --- helm/name-lookup/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/name-lookup/Chart.yaml b/helm/name-lookup/Chart.yaml index 20fe54eef..94b7a8849 100644 --- a/helm/name-lookup/Chart.yaml +++ b/helm/name-lookup/Chart.yaml @@ -14,7 +14,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 0.5.2 +version: 0.6.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. From 10999ed475496f43f12f8129b5a6f772e4eab8b1 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 23 Jul 2026 13:33:17 -0400 Subject: [PATCH 52/58] Reverted to NameRes 1.6.2 for Exp -- so we can test it. --- .../renci-exp-values-populated.yaml | Bin 1302 -> 1302 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/name-lookup/renci-exp-values-populated.yaml b/helm/name-lookup/renci-exp-values-populated.yaml index 8ede4fb30812fbe6fc74ed5825acd3d7c45fcf27..37eb6e382806fba5b6d870f16e3aba5d7b81a36a 100644 GIT binary patch literal 1302 zcmV+x1?l<#M@dveQdv+`0AIQ&<{2bBJT^gMJ;+#@N#MW<<-P!sjwYIjV7rzfI@W1z zG!bH2GrZd(6Mm4kvo3xckCoGWm;=lpu-uv-hFGVvHA2T4H&2J;Cg&CzSvvf!Kkl8G zas?ed)dMk--Ex zG(xmuaTZkN%m+`N;f?&wb&(auPJ#1$_7mK9)0yoNZxR2(!2W-1BA4m}df|YpWfg}R z&~6eL?_tAh^a#AFo6Y>gCUpg7lW1e_LxQfadMZ=a+#>Q0?*{%n!0wp4YRsJl@6+61 zLt>1-7=nj|-OY1e-v+a~d|C zr$^t`VRtxI37fn4+&Bd5G22vwfkL5XhFG5@T+=K|xz$P<6zAbPriG{N^3w5;O%Yi4 zW3Vksez3t6hxI~DByzbBV&J+(FWVq8vV|{s@vM8UxndcDEEfG+w;_gD0pc#Hkj?VE zjXDHl(XS0k5R*0l=+V%0)K;EHD=DJEE%8jx5Nw`7qT`gP)x)xZC}2LQFs5x3vv}FS zG1X>A@`&!Haq+`8z#_7LmX%h5uW(+aMswL~`7h1CW6@AYpQiBR98$H=%dEgKVq)>L z14p-Ig^B|9nmQ8H_N_7bxQ)!f&-0~tXmXbx z59}#^zIM4w7@5P!LEi5dmt|MmQ+VT|Kwq?|f#;!ujsNV1+8j(-Mfm@i_2>OZbRCorK{nTSNQ*wXIDW7E*oTUyTeE0`Q05l-^ zDYK&WsIbdCPjgXXUf!%_gMZAL)2^J3Llz>xMusFLPRLsObLB3`2rhs)G&kBeUi+UCiBGTdt1`&a#i zrDO&7>kmz7cn2zT2_fhc-(b(nB~S3eo?OL(h<%St{j@-Qe0yk zXs9o5^>+TC`I1h6Kf!OWdDvD?*ctJfH6HTngB$t8wQS6Bg~@X3ccd94pKC7!?t?3`XHLdC@?sir zKz4xy>2*Up+}y;f^jUW%Yn6(I!WJQ0$a>MO`P=xe4hyoW9%QA;2q4$~02Tg}}mKYS68MW`&1!Jhc2_yLy`^14Me_m9*)rN<}uTmLjMRQeleek{~ zc7cnUf)`jnk!?D_KTZKlG1&SIYMLOE?CAUi zqWfc23zCBn+d?5L7=fKeUPn_gK12u%F4?yEHkfi=z^$1^pe;iMKSsy(6vUMHUi7CW zs-~#cN>TJq#&;=i-$SZ1^cTvekw(qe9er9=73r?T|#!&fQRPD*t?-hlF8~?kMX3q}%yJz$(;@<(CIoz=C+yYqr3GPBiQ%EflVwXEI-?Lqbg8FNyYhVkD8Z+g zYWGBIdp73T)tNN;&D??zK4C#RUO}D$=9xhMSk5H2RsVMuX1CUyr0{=GEfLk_aRO## zw|y|9BWFlW&u&qJvb^rWq{wz(i*aJ0+)%FgA&6RLkd)?>(iDtL$5g64Od5pvC!#y3 zpM>X#^a90gWQvp&z$mf(l*)avbk!|5V7i=Loofo|_VbWBtX?w!{Utl$?nZ;hVc~@? zbL4bEfvY&9(Rv^bP7P(GYGG()sKz*k96}iDVM#c!vCQ+LRa4YF*CS@8#`h82$k&XL zdMe*gdg From 94007ce10dde35a26dd919e37ef4f3844a2edeea Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 23 Jul 2026 14:36:54 -0400 Subject: [PATCH 53/58] Fixed Solr tag -- needs to be quoted. --- helm/name-lookup/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index e1d9fb7ad..48384e02a 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -42,7 +42,7 @@ solr: repository: solr # Solr load happens using Solr 9.10.0 version, but any Solr 9.10.x should be able to # load that database. This allows our frontline database to pick up minor updates. - tag: 9.10 + tag: "9.10" resources: # We tried increasing this to 200Gi. It looks like Solr used the following # amounts of memory (as per Sterling Grafana): From 57d1ab99b235c96fd42a1f33d2617683fd1a9cf3 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 23 Jul 2026 15:25:56 -0400 Subject: [PATCH 54/58] Claude-tweaked memory requirements. --- helm/name-lookup/values.yaml | 55 +++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index 48384e02a..838c45473 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -42,28 +42,41 @@ solr: repository: solr # Solr load happens using Solr 9.10.0 version, but any Solr 9.10.x should be able to # load that database. This allows our frontline database to pick up minor updates. + # Quoted: unquoted YAML 9.10 parses as the float 9.1, which pulled solr:9.1 and + # failed core init against a 9.10-built index (NameResolution#278). tag: "9.10" + + # The memory limit is the single biggest serving-performance lever. It has to + # cover the JVM heap (heap_mem below, 16G) AND leave the rest for the OS page + # cache, which is charged to the cgroup limit and is what actually keeps queries + # fast: Lucene reads the index through page cache, so the more of the ~111Gi index + # (Babel 2026jul22) that fits in (limit - heap), the fewer reads fall through to + # the network (`basic`) disk. A past measurement on a large limit showed ~11-13Gi + # of JVM RSS against ~111Gi of page cache -- Solr wants close to the whole index + # cached. + # + # 64Gi gives ~48Gi of page cache (~43% of the index) -- a big step up from 32Gi's + # ~16Gi (~15%), and enough for reasonable performance. If queries are slow and the + # Grafana page-cache panel shows the cache pinned at (limit - heap) -- or /status + # reports an index `size` well above (limit - heap), so most of it cannot be + # cached -- raise the limit further. 128Gi caches essentially the whole index; the + # Dev instance (most used) is the one to raise first. + # + # When you change the memory limit: + # - Keep requests == limits. Page cache needs guaranteed (not burstable) memory, + # and the node has to actually have it -- check `kubectl describe node`. + # - Do NOT raise heap_mem to match. The extra memory should go to page cache, not + # the heap. NameRes issues no fq and caches whole query results in + # queryResultCache (bounded by maxRamMB in the configset), so 16G of heap is + # plenty, and a heap over ~32G also gives up compressed object pointers. See + # NameResolution#265. + # - cpu and storage do not scale with the memory limit. resources: - # We tried increasing this to 200Gi. It looks like Solr used the following - # amounts of memory (as per Sterling Grafana): - # - Memory Usage (WSS): 13Gi - # - Memory Usage (RSS): 11Gi - # - Memory Usage (Cache): 111Gi - # - # I think the "cache" here refers to the OS-level page cache, which makes - # sense, as the Solr indexes occupy around 127Gi. - # - # Therefore, I suspect that Solr needs about 32-64Gi to load its indexes - # and other important content, but will use other memory if it is available - # to cache content. We'll set this to 64Gi for now, but we should try - # bombarding these instances with queries to check how valuable increasing - # the memory to Solr helps with performance. - # requests: - memory: "32Gi" + memory: "64Gi" cpu: 4000m limits: - memory: "32Gi" + memory: "64Gi" cpu: 6000m # You can control the nodeSelector/affinity/tolerations settings for Solr with the following settings. @@ -79,9 +92,11 @@ solr: heap_mem: "-Xms16G -Xmx16G" gc: "-XX:NewSize=4G -XX:MaxNewSize=4G -XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:+UnlockExperimentalVMOptions -XX:G1MaxNewSizePercent=40 -XX:G1NewSizePercent=5 -XX:G1HeapRegionSize=32M -XX:InitiatingHeapOccupancyPercent=90" - # As of Babel 2023jul13, we need 130G to store the - # uncompressed backup + 131G Solr database - # So 300Gi should be enough for the time being. + # Holds the extracted Solr index. download.sh streams the compressed backup in, + # untars it, and deletes the tarball, so peak usage is roughly the index (~111Gi for + # Babel 2026jul22) plus the compressed tarball during the download (tens of Gi) -- + # there is no longer an uncompressed-backup staging copy (NameResolution#278). 400Gi + # leaves generous headroom, and does not need to scale with solr.resources. storage: 400Gi # As far as I know, initresources are only used by the download From bc64f2aeaf78da26ef24c487048fb911698905e6 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 23 Jul 2026 15:40:28 -0400 Subject: [PATCH 55/58] Updated NameRes Exp to v1.7.0. --- .../renci-exp-values-populated.yaml | Bin 1302 -> 1302 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/helm/name-lookup/renci-exp-values-populated.yaml b/helm/name-lookup/renci-exp-values-populated.yaml index 37eb6e382806fba5b6d870f16e3aba5d7b81a36a..8ede4fb30812fbe6fc74ed5825acd3d7c45fcf27 100644 GIT binary patch literal 1302 zcmV+x1?l<#M@dveQdv+`0K#(or74V09)O#?`YoTu6dzV9uKf{++5^WBpb6zlR`~%; ztb`+L^7pvbvvg8n#hL3)VEtDSKiU%2{A~G>eo?OL(h<%St{j@-Qe0yk zXs9o5^>+TC`I1h6Kf!OWdDvD?*ctJfH6HTngB$t8wQS6Bg~@X3ccd94pKC7!?t?3`XHLdC@?sir zKz4xy>2*Up+}y;f^jUW%Yn6(I!WJQ0$a>MO`P=xe4hyoW9%QA;2q4$~02Tg}}mKYS68MW`&1!Jhc2_yLy`^14Me_m9*)rN<}uTmLjMRQeleek{~ zc7cnUf)`jnk!?D_KTZKlG1&SIYMLOE?CAUi zqWfc23zCBn+d?5L7=fKeUPn_gK12u%F4?yEHkfi=z^$1^pe;iMKSsy(6vUMHUi7CW zs-~#cN>TJq#&;=i-$SZ1^cTvekw(qe9er9=73r?T|#!&fQRPD*t?-hlF8~?kMX3q}%yJz$(;@<(CIoz=C+yYqr3GPBiQ%EflVwXEI-?Lqbg8FNyYhVkD8Z+g zYWGBIdp73T)tNN;&D??zK4C#RUO}D$=9xhMSk5H2RsVMuX1CUyr0{=GEfLk_aRO## zw|y|9BWFlW&u&qJvb^rWq{wz(i*aJ0+)%FgA&6RLkd)?>(iDtL$5g64Od5pvC!#y3 zpM>X#^a90gWQvp&z$mf(l*)avbk!|5V7i=Loofo|_VbWBtX?w!{Utl$?nZ;hVc~@? zbL4bEfvY&9(Rv^bP7P(GYGG()sKz*k96}iDVM#c!vCQ+LRa4YF*CS@8#`h82$k&XL zdMe*gdg literal 1302 zcmV+x1?l<#M@dveQdv+`0AIQ&<{2bBJT^gMJ;+#@N#MW<<-P!sjwYIjV7rzfI@W1z zG!bH2GrZd(6Mm4kvo3xckCoGWm;=lpu-uv-hFGVvHA2T4H&2J;Cg&CzSvvf!Kkl8G zas?ed)dMk--Ex zG(xmuaTZkN%m+`N;f?&wb&(auPJ#1$_7mK9)0yoNZxR2(!2W-1BA4m}df|YpWfg}R z&~6eL?_tAh^a#AFo6Y>gCUpg7lW1e_LxQfadMZ=a+#>Q0?*{%n!0wp4YRsJl@6+61 zLt>1-7=nj|-OY1e-v+a~d|C zr$^t`VRtxI37fn4+&Bd5G22vwfkL5XhFG5@T+=K|xz$P<6zAbPriG{N^3w5;O%Yi4 zW3Vksez3t6hxI~DByzbBV&J+(FWVq8vV|{s@vM8UxndcDEEfG+w;_gD0pc#Hkj?VE zjXDHl(XS0k5R*0l=+V%0)K;EHD=DJEE%8jx5Nw`7qT`gP)x)xZC}2LQFs5x3vv}FS zG1X>A@`&!Haq+`8z#_7LmX%h5uW(+aMswL~`7h1CW6@AYpQiBR98$H=%dEgKVq)>L z14p-Ig^B|9nmQ8H_N_7bxQ)!f&-0~tXmXbx z59}#^zIM4w7@5P!LEi5dmt|MmQ+VT|Kwq?|f#;!ujsNV1+8j(-Mfm@i_2>OZbRCorK{nTSNQ*wXIDW7E*oTUyTeE0`Q05l-^ zDYK&WsIbdCPjgXXUf!%_gMZAL)2^J3Llz>xMusFLPRLsObLB3`2rhs)G&kBeUi+UCiBGTdt1`&a#i zrDO&7>kmz7cn2zT2_fhc-(b(nB~S3 Date: Thu, 23 Jul 2026 15:55:27 -0400 Subject: [PATCH 56/58] Added a stamp to track downloads and changes. --- .../templates/scripts-config-map.yaml | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/helm/name-lookup/templates/scripts-config-map.yaml b/helm/name-lookup/templates/scripts-config-map.yaml index 02e97acc8..92cf4df24 100644 --- a/helm/name-lookup/templates/scripts-config-map.yaml +++ b/helm/name-lookup/templates/scripts-config-map.yaml @@ -12,13 +12,23 @@ data: CORE_DIR="${DATA_DIR}/name_lookup" BACKUP_ZIP="${DATA_DIR}/snapshot.backup.tar.gz" BACKUP_URL="{{ .Values.dataUrl }}" + STAMP="${CORE_DIR}/.dataUrl" - # The backup is a self-contained Solr core (config + schema + index). If it is - # already extracted, keep it: this makes the init container idempotent, so a - # pod restart does not wipe a good core and leave Solr empty - # (translator-devops#609). - if [ -f "${CORE_DIR}/core.properties" ]; then - echo "Core already present at ${CORE_DIR}; skipping download." + # An empty dataUrl means "leave the volume alone" -- keep whatever core is already + # there (or none). This is the switch for "do not (re)load", same as before. + if [ -z "${BACKUP_URL}" ]; then + echo "dataUrl is empty; leaving any existing core untouched." + exit 0 + fi + + # The backup is a self-contained Solr core (config + schema + index). Skip the + # download only if the extracted core came from THIS dataUrl: a pod restart with an + # unchanged dataUrl keeps the good core (translator-devops#609), but a new release + # (changed dataUrl) reloads instead of silently serving the old index on a PVC that + # outlived the version bump. A core with no stamp (old logic, or hand-restored) + # reloads once so the served data matches the configured dataUrl. + if [ -f "${CORE_DIR}/core.properties" ] && [ "$(cat "${STAMP}" 2>/dev/null)" = "${BACKUP_URL}" ]; then + echo "Core already present from ${BACKUP_URL}; skipping download." exit 0 fi @@ -33,6 +43,11 @@ data: tar -xf ${BACKUP_ZIP} -C ${DATA_DIR} rm ${BACKUP_ZIP} + # Record which backup this core came from, so the next pod start can tell a restart + # (skip) from a version bump (reload). Written after a successful extract so a + # failed download never leaves a stamp that would suppress the retry. + printf '%s' "${BACKUP_URL}" > "${STAMP}" + restore.sh: |- #!/bin/sh # From 3314d72b3356fcdb53ae02c7f24ea1148ff865b7 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 23 Jul 2026 23:09:48 -0400 Subject: [PATCH 57/58] Added GC logging options for NameRes. --- helm/name-lookup/templates/solr-deployment.yaml | 5 +++++ helm/name-lookup/values.yaml | 17 ++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/helm/name-lookup/templates/solr-deployment.yaml b/helm/name-lookup/templates/solr-deployment.yaml index 57b1ebe5e..50c532d6f 100644 --- a/helm/name-lookup/templates/solr-deployment.yaml +++ b/helm/name-lookup/templates/solr-deployment.yaml @@ -58,6 +58,11 @@ spec: value: {{ include "name-lookup.fullname" . }}-solr-svc - name: GC_TUNE value: {{ .Values.solr.gc | quote }} + {{- if .Values.solr.gc_log }} + # Overrides Solr's default file-based GC logging (see solr.gc_log in values.yaml). + - name: GC_LOG_OPTS + value: {{ .Values.solr.gc_log | quote }} + {{- end }} # "-XX:-UseLargePages -XX:+UseG1GC -XX:MaxGCPauseMillis=500 -XX:+UnlockExperimentalVMOptions -XX:G1MaxNewSizePercent=30 -XX:G1NewSizePercent=5 -XX:G1HeapRegionSize=32M -XX:InitiatingHeapOccupancyPercent=70" # "-XX:-UseLargePages -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+UnlockExperimentalVMOptions -XX:G1MaxNewSizePercent=20 -XX:G1NewSizePercent=5 -XX:G1HeapRegionSize=32M -XX:InitiatingHeapOccupancyPercent=20" # "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:+UnlockExperimentalVMOptions -XX:G1MaxNewSizePercent=40 -XX:G1NewSizePercent=5 -XX:G1HeapRegionSize=32M -XX:InitiatingHeapOccupancyPercent=90" diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index 838c45473..eb58e8f0c 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -45,7 +45,6 @@ solr: # Quoted: unquoted YAML 9.10 parses as the float 9.1, which pulled solr:9.1 and # failed core init against a 9.10-built index (NameResolution#278). tag: "9.10" - # The memory limit is the single biggest serving-performance lever. It has to # cover the JVM heap (heap_mem below, 16G) AND leave the rest for the OS page # cache, which is charged to the cgroup limit and is what actually keeps queries @@ -92,6 +91,22 @@ solr: heap_mem: "-Xms16G -Xmx16G" gc: "-XX:NewSize=4G -XX:MaxNewSize=4G -XX:+UseG1GC -XX:MaxGCPauseMillis=1000 -XX:+UnlockExperimentalVMOptions -XX:G1MaxNewSizePercent=40 -XX:G1NewSizePercent=5 -XX:G1HeapRegionSize=32M -XX:InitiatingHeapOccupancyPercent=90" + # Send GC logs to stdout so the cluster log collector (Grafana) picks them up. + # + # Solr's default is -Xlog:gc*:file=$SOLR_LOGS_DIR/solr_gc.log:...:filecount=9,filesize=20M, + # which writes to /var/solr/logs -- a directory that is NOT on the PVC (only + # /var/solr/data is mounted), so the GC log is ephemeral and vanishes on the pod + # restart that usually prompts you to go looking for it. Routing to stdout makes it + # durable in Grafana and drops ~180Mi of ephemeral log files. + # + # Note this is `-Xlog:gc`, not `-Xlog:gc*`: the bare form logs one line per collection + # (the pause summary), which is what you need to correlate against a latency tail. The + # `gc*` form adds every GC subcomponent and is very chatty on a 16G heap. Use `gc*` + # temporarily if you are debugging GC itself. + # + # Set to "" to fall back to Solr's default file-based GC logging. + gc_log: "-Xlog:gc:stdout:time,uptime" + # Holds the extracted Solr index. download.sh streams the compressed backup in, # untars it, and deletes the tarball, so peak usage is roughly the index (~111Gi for # Babel 2026jul22) plus the compressed tarball during the download (tens of Gi) -- From d6e3fbb37c428d23e665e4224d9d9a36def76590 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Fri, 24 Jul 2026 02:11:41 -0400 Subject: [PATCH 58/58] Claude updates for better performance. --- helm/name-lookup/templates/secrets.yaml | 9 +++++++ helm/name-lookup/values.yaml | 32 +++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/helm/name-lookup/templates/secrets.yaml b/helm/name-lookup/templates/secrets.yaml index dd34667e0..43f145a1c 100644 --- a/helm/name-lookup/templates/secrets.yaml +++ b/helm/name-lookup/templates/secrets.yaml @@ -1,3 +1,12 @@ +{{- /* + Fail fast rather than quietly deploying a blocklist that cannot authenticate: if the + blocklist is switched on (blocklist.url set) there must be a token to go with it. The + token is looked up nil-safely here so that a values file which drops the `secrets` map + entirely still gets this message instead of a raw nil-pointer error. +*/ -}} +{{- if and .Values.blocklist.url (not (.Values.blocklist.secrets).github_personal_access_token) }} +{{- fail "blocklist.url is set but blocklist.secrets.github_personal_access_token is empty. Set the token, or clear blocklist.url to turn the blocklist off. (If the blocklist URL needs no auth, set any non-empty placeholder.)" }} +{{- end }} {{ if .Values.blocklist.secrets.github_personal_access_token }} apiVersion: v1 kind: Secret diff --git a/helm/name-lookup/values.yaml b/helm/name-lookup/values.yaml index eb58e8f0c..1621f73b4 100644 --- a/helm/name-lookup/values.yaml +++ b/helm/name-lookup/values.yaml @@ -70,13 +70,28 @@ solr: # plenty, and a heap over ~32G also gives up compressed object pointers. See # NameResolution#265. # - cpu and storage do not scale with the memory limit. + # ephemeral-storage covers everything the pod writes outside the PVC: Solr's log files + # in /var/solr/logs (which is NOT on the PVC -- only /var/solr/data is mounted) plus the + # container's stdout, which the kubelet also writes to node disk and bills here. + # + # The bounded part is about 640Mi: solr.log and solr_slow_requests.log each roll at + # 32MB x 10. (Clearing solr.gc_log above adds a further ~180Mi of solr_gc.log.) The + # variable part is Jetty's NCSA request log, one file per day kept for 3 days + # (solr.log.requestlog.retaindays), so it grows with query volume -- that is what the + # headroom below is for. To shrink it, pass -Dsolr.log.requestlog.retaindays=1. + # + # Note this limit EVICTS the pod when exceeded, so it is deliberately generous: an + # undersized value would turn a rare node-disk-pressure eviction into a routine one + # under heavy traffic. Raise the limit rather than trimming it if request logs grow. resources: requests: memory: "64Gi" cpu: 4000m + ephemeral-storage: 2Gi limits: memory: "64Gi" cpu: 6000m + ephemeral-storage: 8Gi # You can control the nodeSelector/affinity/tolerations settings for Solr with the following settings. # Other pods (web, restore, backup) are controlled via app.nodeSelector/affinity/tolerations below. @@ -138,13 +153,19 @@ app: nodeSelector: affinity: tolerations: + # The web pod writes no data files, so its ephemeral-storage is almost entirely stdout + # that the kubelet spools to node disk: NameRes logs one INFO line per lookup, which is + # a lot of lines at production query rates. The kubelet rotates container logs, so this + # only needs enough headroom to sit above that rotation comfortably. resources: requests: memory: 1Gi cpu: 750m + ephemeral-storage: 512Mi limits: memory: 2Gi cpu: 1000m + ephemeral-storage: 2Gi nameOverride: "" fullnameOverride: "" @@ -165,6 +186,17 @@ blocklist: # in `blocklist.secrets.github_personal_access_token` in an encrypted file. You can also # set this on Kubernetes by running: # kubectl -n $NAMESPACE create secret generic {{name-lookup.fullname}}-secrets --from-literal=github_personal_access_token=github_pat_... + # + # Declared here (rather than left unset) so the key always exists: templates reference it + # directly, and an undefined `secrets` map made rendering die with an unhelpful + # "nil pointer evaluating interface {}.github_personal_access_token" even when the + # blocklist was deliberately turned off. + # + # Rendering fails fast if blocklist.url is set while this is empty -- turning the + # blocklist on without a token is almost always a mistake. If the blocklist URL is + # genuinely public and needs no auth, set any non-empty placeholder here. + secrets: + github_personal_access_token: "" # The storage necessary to store the blocklist file. This is currently an ephemeral volume, and because we need # to use `split` to split this into 500 ID chunks, we actually need TWICE the amount of storage needed to store # the blocklist. Luckily, the blocklist is about 7KB right now, so 100Mi should be future proof for a while.