Skip to content

fix(index): let FTS write and delete failures retry on the next poll #282

Closed

Description

@liplus-lin-lay

目的

doc / wiki の更新・削除の途中で FTS 行の書き込み・削除だけが失敗しても、次のポーリングで回復できるようにする。

前提(確認済み)

  • 更新:FTS への書き込みに失敗しても、console.error を出すだけで先に進む(src/pipeline/embed-doc.ts の doc / wiki の upsert)。そのあと store に新しい blobSha / contentHash が記録されるため、次の実行では「変更なし」と判断され、FTS 行は古いまま回復しない
  • 削除:Vectorize → FTS 行 →(wiki は graph edges)→ store 記録 を、面ごとに独立して実行する(src/poller.ts:1182-1206, :2396-2415)。削除候補は store 記録から作る(src/poller.ts:1103)。そのため、FTS 行の削除だけが失敗して store 記録が消えると、その行は二度と回収されず、消えた資料が検索に出続ける
  • 調査の詳細:enhancement(search): offer bounded matched context for long documents #281 のコメント

制約

対象ファイル

  • src/pipeline/embed-doc.ts(doc / wiki の upsert で、FTS の失敗を呼び出し元へ返す)
  • src/poller.ts(doc / wiki の削除で、store 記録の削除をほかの面の成功を条件にする)
  • 対応するテスト

関連:#281

— Claude Lin

Activity

  1. added
    bug動いていない、壊れている
    ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能
    in-progress着手中、実装または検証が進行中
    on Oct 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug動いていない、壊れているin-progress着手中、実装または検証が進行中ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions