GitHub Repo
Paperclip 社群回報時間精度錯配,代理取消後可能卡在暫停中
10 月 18 日的 Paperclip 社群回報指出,租約時間在資料庫與 JavaScript 間的精度差異,可能使代理無法完成暫停或終止。回報者表示本機修改已解除卡住狀態,但正式修復版本與完整影響範圍仍待確認。

開源代理管理平台 Paperclip 於 10 月 18 日收到一項生命週期控制問題回報:原生執行工作取消後,若留下已過期的收尾協調紀錄,後續暫停或終止代理可能一直無法完成。回報環境為 2026.1012.1-beta.0,目前證據來自社群提供的程式路徑、重現步驟與本機修改結果。問題回報
回報將原因指向租約到期時間的往返轉換。續租流程以資料庫的 now() 加上租約長度寫入時間,停止檢查則把讀出的值轉成毫秒精度的 JavaScript Date,再以時間完全相等作為釋放紀錄的條件。當原值含有更細的小數位,條件更新便可能找不到資料列,停止檢查持續判定尚未完成。技術分析
這個診斷涉及明確的資料型別邊界。PostgreSQL 官方文件列出,含時區與不含時區的 timestamp 都具有一微秒解析度,秒數小數精度最高可到六位。作為示意,資料庫中的 .123456 秒若經轉換只留下 .123 秒,拿轉換後的值回查原始時間,就不再是同一個比較值;這是依文件與回報機制推導的例子。PostgreSQL 時間型別文件
Paperclip 負責協調多種代理、追蹤任務與成本,也提供暫停、恢復及終止控制,因此收尾狀態能否正確收斂,是控制平面的實際可靠性問題。不過,介面停在 pausing 本身,不能證明模型仍在運算或持續產生費用,仍須對照執行程序與紀錄判讀。專案說明
回報者建議將比較統一到毫秒精度,或讓續租寫入也使用 JavaScript 日期值,並表示套用比較修改後,卡住的代理在一分鐘內離開暫停中狀態。工程團隊接下來應關注修補是否保留租約的並行保護,以及取消、續租與收尾交錯時的測試;截至查核,尚無可確認的正式修復版本,也未有足夠證據將影響推廣至所有部署。修補建議與限制