|
|
@@ -211,9 +211,17 @@ public class RecallService implements ApplicationContextAware {
|
|
|
// 由 V564 rank 类 (mergeAndRankRovRecall) 在 extractAllAndTruncateByCoarseRank
|
|
|
// 里按全局粗排分统一截断。
|
|
|
|
|
|
+ // V563/V566 命中且 uid="null" 的 guest user 不走流量池: V563/V566 修了 risk uid
|
|
|
+ // "null" 错杀, 这批 guest 不再 setRiskUser(true), 不在此处隔离会涌进流量池稀释
|
|
|
+ // 真实有效 uid 的曝光。非 V563/V566 用户继续走 bug 路径 (riskUser=true), 已被
|
|
|
+ // 第一个条件挡掉, 此 gate 与风控修复 AB 边界严格对齐。
|
|
|
+ boolean isHitNullUidFixExp = "null".equals(param.getUid())
|
|
|
+ && (experimentService.judgeHitAlgoExp(param.getAppType(), param.getRootSessionId(), abExpCodes, "563")
|
|
|
+ || experimentService.judgeHitAlgoExp(param.getAppType(), param.getRootSessionId(), abExpCodes, "566"));
|
|
|
+
|
|
|
// 命中用户黑名单不走流量池
|
|
|
// 命中安全测试风险地域不走流量池
|
|
|
- if (!param.isRiskUser() && !param.isTestingRiskRegion()) {
|
|
|
+ if (!param.isRiskUser() && !param.isTestingRiskRegion() && !isHitNullUidFixExp) {
|
|
|
strategies.add(strategyMap.get(QuickFlowPoolWithLevelRecallStrategy.class.getSimpleName()));
|
|
|
strategies.add(strategyMap.get(FlowPoolWithLevelRecallStrategyTomson.class.getSimpleName()));
|
|
|
strategies.add(strategyMap.get(DouHotFlowPoolRecallStrategy.class.getSimpleName()));
|