AOSSIE-Org / AOSSIE-Org/Devr.AI

BUG : Repository indexing can get stuck in pending with no recovery path

未关闭
#228 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
102
派生
137
PR 合并指标
30 天内没有已合并 PR

描述

### Is there an existing issue for this?

- [x] I have searched the existing issues

### What happened?

## 📌 Issue Overview
While reviewing the repository indexing flow, I noticed that a repository can get permanently stuck in the pending state if the indexing process is interrupted (e.g. backend crash or network failure).

This results in users being blocked from re-indexing the repository, even though no indexing job may actually be running.

## 🎯 Expected Behavior
The user should be able to re-index the repo if the previous indexing is stuck in "pending" state.

## 🚨 Actual Behavior
The indexing flow in RepoService.index_repo() behaves as follows:

1. `status = completed` : Indexing is considered done.

2. `status = pending` :
Backend returns : “Repository indexing in progress. Please wait.”

3. `status = failed` : Backend resets state to pending and re-triggers `/analyze_repo`.

For a new repository :
A database row is inserted with `status = pending` and `/analyze_repo` is called.

If the backend crashes or the request never completes after this point, the repository remains in pending. Any subsequent indexing request will hit case (2) and be blocked indefinitely.

## 💡 Suggested Improvements
Treat pending as a retryable state, similar to failed.

- Allow re-indexing when `status = pending`.
- Reset state to pending.
- Clear any previous error.
- Re-trigger `/analyze_repo`.

### Record

- [x] I agree to follow this project's Code of Conduct
- [x] I want to work on this issue

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。