fix(httpclient): handle missing upstream list during failover
在 failover 重試前檢查最新 upstream 列表,快取項目被刪除時傳回既有的 503 耗盡回應,避免空指標異常變成 500,並補充實際快取移除情況的迴歸測試。
Open-source contributions to Apache ShenYu
在 failover 重試前檢查最新 upstream 列表,快取項目被刪除時傳回既有的 503 耗盡回應,避免空指標異常變成 500,並補充實際快取移除情況的迴歸測試。
讓 AI 請求路徑重寫同步更新 ShenyuContext,避免仍向舊路徑轉發,同時保留已有 realUrl 轉換及顯式 REWRITE_URI 的優先次序。
循序處理 MQTT 設定更新,等效設定重用現有監聽器,設定變更時安全重啟,並補齊啟動失敗清理、冪等關閉及並行更新的測試。
讓兩種生產任務佇列顯式呼叫 TaskQueue 的 eager offer 策略,在工作執行緒繁忙且未達上限時擴容,同時保留原有入列及記憶體檢查。
以原始位元組儲存及重播 MQTT retained payload,避免字串解碼破壞二進制訊息,並涵蓋 ByteBuf 切片、引用生命週期及空訊息刪除。
在記憶體限額變更及使用量重設時,持鎖喚醒等待預算的生產者,修正擴容或縮容後 clear 仍阻塞的問題,並驗證只放行符合預算的請求。
補齊 TCP selector 連接埠及屬性更新的提交後通知與監聽器替換,保留首次建立的 single-flight 機制,並處理同連接埠重啟失敗復原及替換、刪除之間的同步。
在 HTTP 同步復原中直接重用已帶 namespace 的完整快取 key,避免重複前綴導致空指標或跨命名空間讀取,並以生產格式的快取資料補充迴歸測試。
移除 etcd 實例查詢中未保留控制代碼的持久 watcher 及未使用快取,繼續直接查詢最新實例,保留顯式訂閱及其清理行為。
統一 ZooKeeper 實例註冊、查詢及監聽路徑,補齊原生實例 URL 與 Admin 更新、全量同步鏈路,並驗證應用程式隔離及 namespace 保留。
在快取未命中回應的位元組複製後釋放合併的 DataBuffer,避免池化 Netty 緩衝區洩漏,並驗證單段、多段及額外引用情況的釋放次數與回應內容。
將規則層級 AI Prompt 設定套用到新的設定物件,避免污染共享外掛設定或影響後續請求,保留規則欄位整體替換的既有語義。
修正 MCP 請求中固定與動態 query 參數的拼接及重複判斷,保留固定參數優先及動態值編碼,並驗證實際請求 URI 與上下文路徑。
使用原始 query 比較 fallback 目標,保留百分號編碼,避免編碼參數繞過同目標保護或將不同目標誤判為相同,涵蓋重新導向及內部轉發兩條路徑。
直接驗證並保留 AI 請求轉換器產生的 JSON 文字,避免陣列變成 null 或巢狀值類型被改寫,同時保留物件、陣列及文字格式。
按 scheme、host 及有效連接埠識別失敗 upstream,正確處理省略預設連接埠的地址,避免 failover 反覆選擇同一失敗節點,並保留原有重試及請求主體重播邏輯。
清理已無倉庫內生產消費者的舊註冊鎖類型、Bean 及相關測試,保留現有 context-path 加鎖、叢集選主及資料庫機制,並說明公開 API 的兼容性影響。
使用 Dubbo URL 模型替換 Registry 地址中的 namespace 參數,保留其餘地址組件與參數,並補充普通及 upstream Reference 路徑的迴歸測試,確保原始設定不變。
補齊 selector 級 discovery upstream 刪除的插件清理鏈路,透過 HTTP 快照比較識別消失或改名的記錄,並處理 TCP 身份映射及 Admin 批次刪除檢查。
讓 k3s 下載失敗正確進入重試,並以非空 kubeconfig 作為安裝成功條件,補充離線測試涵蓋下載失敗、設定檔缺失及空檔案等情況。
讓 ZooKeeper Watcher 將空子節點列表也寫入實例快取,避免最後一個實例刪除後仍傳回舊資料,並覆蓋實例數量 1 → 0 → 1 的狀態變化。
透過按 selector 的 single-flight 建立機制,避免並行同步時重複啟動 TCP bootstrap server,並補全失敗回滾與冪等關閉處理。
修正 HTTP 全量同步收到空快照後舊 proxy selector 執行階段資料未有清理的問題,並安全關閉快取的 TCP bootstrap servers。