AOSSIE-Org / AOSSIE-Org/Devr.AI

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

Open
#228 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
102
Forks
137
PR merge metrics
No merged PRs in 30d

Description

### 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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.