Fetching metadata from the HF Docker repository... 10 days ago
-
xiufu shijian xunhuan bei suoding de genyin: qingqiu relu bu zai xie ku
xiaolongmr
堆栈证据:事件循环线程卡在
chat_room.list_direct_conversations -> require_identity
-> authenticate -> _update_items_locked -> update_auth_keys_locked
即「async 路由里同步鉴权,鉴权里同步写整张 auth_keys 表」。
三处改动:
1. authenticate 热路径零存储 IO
last_used_at 只更新内存快照并记脏,由后台线程每 30 秒批量合并落库。
事件循环再也不等待存储锁。
2. 缓存未命中也不回读存储
未知/失效 token 以前会 _reload_locked() 读全表,把事件循环拖进数据库。
现在直接返回 401,回读交给后台线程兜底(单副本下内存快照即权威)。
3. update_auth_keys_locked 只写变化的行
以前是无条件 row.data = payload,等于每次改一条都把整表标记 dirty
并逐行 UPDATE + commit。图片任务线程并发结算积分时,
SQLite 写锁被占用数百毫秒,事件循环只能排队。
附带:去掉 21 处 with self._lock: 包 _update_items_locked 的反向锁嵌套,
锁顺序统一为「存储 -> 鉴权」,消除再次 ABBA 的可能。
21 days ago
-
fix: harden HF persistence and runtime workflows
xiaolongmr
-
整合功能更新并排除本地恢复产物
xiaolongmr
-
Optimize shared account pool storage
xiaolongmr
-
Add email code account import
xiaolongmr
-
Share announcements through user storage
xiaolongmr
-
Merge existing local users into shared storage
xiaolongmr
-
Auto migrate local users to shared storage
xiaolongmr
-
Share user storage across spaces
xiaolongmr
-
Use persistent SQLite storage for user data
xiaolongmr
-
Add shop access and persistent bucket support
xiaolongmr
-
Skip git hooks for data storage commits
xiaolongmr
-
init: CHATSAM public version with data persistence and keep-alive