mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-10 20:01:24 +01:00
Backport #29062 by @inferno-umar Fix for gitea putting everything into one request without batching and sending it to Elasticsearch for indexing as issued in #28117 This issue occured in large repositories while Gitea tries to index the code using ElasticSearch. Co-authored-by: dark-angel <70754989+inferno-umar@users.noreply.github.com> (cherry picked from commit f0d34cd3b97dd2c9f29fc401ec58ea0661b7ca7d)
This commit is contained in:
parent
941c47f08f
commit
e6f59f6e14
1 changed files with 11 additions and 5 deletions
|
@ -180,11 +180,17 @@ func (b *Indexer) Index(ctx context.Context, repo *repo_model.Repository, sha st
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(reqs) > 0 {
|
if len(reqs) > 0 {
|
||||||
_, err := b.inner.Client.Bulk().
|
esBatchSize := 50
|
||||||
Index(b.inner.VersionedIndexName()).
|
|
||||||
Add(reqs...).
|
for i := 0; i < len(reqs); i += esBatchSize {
|
||||||
Do(ctx)
|
_, err := b.inner.Client.Bulk().
|
||||||
return err
|
Index(b.inner.VersionedIndexName()).
|
||||||
|
Add(reqs[i:min(i+esBatchSize, len(reqs))]...).
|
||||||
|
Do(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue