You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: ApplicationConfigCache.get(path) is a Guava LoadingCache whose loader returns a TarsInvokePrxList(null,null,null) with an empty internal list when the path was never initialized. Line 82 ThreadLocalRandom.current().nextInt(tarsInvokePrxList.getTarsInvokePrxList().size()) throws IllegalArgumentException when the list is empty, outside the try/catch.
impact: Any request for a tars path whose proxy list is not yet populated (race during sync, or no upstreams) results in uncaught IllegalArgumentException → 500.
suggested_fix: Guard size() == 0 and return a proper no-upstream error via WebFluxResultUtils.result(...).
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/TarsPlugin.java:81-83ApplicationConfigCache.get(path)is a GuavaLoadingCachewhose loader returns aTarsInvokePrxList(null,null,null)with an empty internal list when the path was never initialized. Line 82ThreadLocalRandom.current().nextInt(tarsInvokePrxList.getTarsInvokePrxList().size())throwsIllegalArgumentExceptionwhen the list is empty, outside the try/catch.IllegalArgumentException→ 500.size() == 0and return a proper no-upstream error viaWebFluxResultUtils.result(...).Identified during the 2026-08-02 deep re-scan; full list in
docs/scan2-2026-08-02/00-consolidated-critical-high.md.