Query DB: measure repeated legacy-owner key parsing
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 22/100
- Issue 類型
- 重構
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- typescript
研究方向
Start in packages/query-db-collection/src/query.ts at getLegacyOwnerHashes, where candidates are built from persisted owner hashes and retention markers and JSON-parsed per eligible equality demand. Write a benchmark that varies owner count, demand count and marker count to measure parsing cost. Done means a measured result showing whether an index built once per metadata generation is worth it, with the static-key prefix and markerless-owner migration checks still passing.
由索引模型根據 Issue 內容生成。
描述
Observation
PR #2134 performs one persisted-row metadata scan per sync run, but getLegacyOwnerHashes then builds a candidate set from every persisted owner hash and every retention marker and JSON-parses candidates for each eligible equality demand (packages/query-db-collection/src/query.ts). This gives repeated work proportional to demands × (owners + markers), including fresh installs with no historical alias. The current oracle bounds scan count but not this parsing work.
This is a source-level performance concern; no user latency regression has been measured. Keep the correctness repair in #2134 focused.
Follow-up
Measure load cost across increasing owner and demand counts, including marker-heavy storage. If material, build the normalized historical-key index once per relevant metadata generation, with explicit updates when owners or markers change. Preserve the current static-key prefix and full-demand checks and the markerless-owner migration witness.
- 主要語言
- TypeScript
- 星號
- 4k
- 分支
- 277
- 平均合併
- 1 天 2 小時
- 30 天內合併 PR
- 213
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
TanStack/db 的其他 Issue
-
難度 1/5 1-3 小時 新手友好度 88/100
維護者通常 1 天內回覆
-
OfflineExecutor.dispose() never settles pendingTransactionPromises可能已有人在做 @Claire-ovo 於 3 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
Two @tanstack/db tests time out under CPU load because a cold module import counts against the 5 s default timeout可能已有人在做 @jp-knj 於 1 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 1 天內回覆
-
難度 3/5 1-2 天 新手友好度 65/100
維護者通常 1 天內回覆
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 78/100
gnosis/gnosis_vpn#661 ·
維護者通常 1 天內回覆
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)未關閉triage:bug-verified
難度 1/5 1 小時以內 新手友好度 92/100
維護者通常 1 天內回覆
-
fix: reject sourceStorage/packagedStorage bucket that differs from the stack default (fail loud)未關閉
難度 2/5 1-3 小時 新手友好度 82/100
Eyevinn/open-videocore#1300 ·
維護者通常 1 天內回覆
-
nextjs-tracking
難度 2/5 1-3 小時 新手友好度 67/100
cloudflare/vinext#4390 ·
維護者通常 1 天內回覆
-
kind/bug
難度 2/5 1-3 小時 新手友好度 82/100
kubernetes-sigs/headlamp#8175 ·
維護者通常 2 天內回覆