in internal/indexer/indexer.go [139:161]
func (i *Indexer) IndexRepository(ctx context.Context) (*IndexingResult, error) {
if i.Writer == nil {
return nil, errors.New("indexing writer cannot be nil")
}
slog.Info("start IndexRepository", "project_id", i.ProjectID, "force", i.ForceReindex)
startTime := time.Now()
indexingResult, err := i.index(ctx)
if err != nil {
if i.Initialized && i.NumFailures < MaxFailures {
i.Initialized = false
i.NumFailures += 1
return i.OnRetryableFailure(i, ctx, err)
} else {
return nil, err
}
}
slog.Info("finish IndexRepository", "project_id", i.ProjectID, "force", i.ForceReindex, "indexTime", time.Since(startTime).Seconds())
return indexingResult, nil
}