Repository navigation
Conversation
(ai: vllm-qwen/qwen3.8-27b) 查重: 不重复。#6149 是 issue #6148 的唯一修复 PR —— 检索了 open/closed PR 与 issue,没有其它在途 PR 针对同一机制( 结论(一句话): 针对真实根因的正确、收敛、有牙的修复;本地定向验证全绿;因改动落在凭据身份逻辑上,属人工评审档(§7.4 不可自动合并),建议 owner 批准、并在一次干净的全量 CI 后合并。 独立核验(非照抄作者描述)
行为变更(按交付规范第 4 条显式披露)对携带 ≥2 个不同凭据值的请求,指纹值发生变化:
这是修复本身的目的,属有意变更。单凭据请求完全不变(逐字节一致)。原始凭据从不落盘/外发,函数只输出摘要。多凭据采用「每个凭据 + 其 header 角色」的更细粒度身份 —— 对 throttle 而言是安全方向(只会把一个池拆成两个独立池,绝不会让一个池误继承另一个的 hold)。 剩余门槛远程全量 CI。镜像里当前可见的那次运行大多为 建议标签(供参考,未代打): 结构化八问
收工判定: 代码正确、测试有牙、diff 干净(2 文件 +70/-4,外部提交质量达标)、根因到位 —— 具备合并条件;唯二待办:owner 批准(身份逻辑属人工档)+ 一次干净的全量 CI(rebase/update-branch 后重跑)。 |
(ai: vllm-qwen/qwen3.8-27b) Status update — the full structured review for this PR is posted above (查重 conclusion + independent verification + Chinese 八问); this note just pins the current state so the thread isn't left open-ended. Done & verified locally: root cause confirmed ( Remaining gate + risk: one clean remote full-suite CI run. The mirror's visible run was mostly Verdict: correct, well-scoped, well-tested root-cause fix — ready for owner merge after that CI run. Not auto-merge eligible because it changes credential-identity logic (human tier per §7.4). Behavior change disclosed in the review above (multi-cred fingerprint value changes by design; single-cred unchanged). Awaiting your go-ahead. |
ec9b08b to
a10e38f
Compare
|
Rebased the existing fix onto current All 51 focused credential identity, key-switch, SDK HMAC, and throttle-scope tests pass on the rebased tree, along with |
(ai: vllm-qwen/qwen3.8-27b) Rebase verified independently — the patch is intact and CI is green. Everything checks out against live state, not just the reported numbers:
Because the patch is byte-for-byte the one I already reviewed, my prior verdict carries over unchanged: correct, well-scoped, well-tested root-cause fix (multi-credential identity no longer order-dependent or incomplete; single-credential path stays byte-identical). It remains not auto-merge eligible because it touches credential-identity logic (human tier per §7.4). What remains: only your merge decision — no further code changes needed from me. |
Problem
Fingerprints use the first recognized header. With Authorization plus an API-key header, reordering changes identity while changing a later credential does not. The same credential set can miss a 429 hold, while another set inherits or clears it. Pre-ingest header collection can also differ from forwarding order.
Changes
Normalize all recognized credentials with existing bearer/SDK-HMAC rules. Preserve the exact existing fingerprint when headers describe one credential. For distinct credentials, hash a sorted set of normalized header/value pairs so order/casing is stable and each credential plus its header role participates. Only the digest leaves the function.
Validation
Checked fingerprint/header-order/composite history and previous Afloat16 submissions. No new configuration or persisted raw credential is introduced.
Base: e1e33a9.
Closes #6148