Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/administration/gitaly/configure_gitaly.md')
-rw-r--r--doc/administration/gitaly/configure_gitaly.md47
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/administration/gitaly/configure_gitaly.md b/doc/administration/gitaly/configure_gitaly.md
index 9f3afae0e9f..f62f0a5a4e2 100644
--- a/doc/administration/gitaly/configure_gitaly.md
+++ b/doc/administration/gitaly/configure_gitaly.md
@@ -1839,3 +1839,50 @@ go_cloud_url = "s3://gitaly-backups?region=minio&endpoint=my.minio.local:8080&di
```
::EndTabs
+
+## Configure negotiation timeouts
+
+> [Introduced](https://gitlab.com/gitlab-org/gitaly/-/issues/5574) in GitLab 16.5.
+
+Gitaly supports configurable negotiation timeouts.
+
+Negotiation timeouts can be configured for the `git-upload-pack(1)` and `git-upload-archive(1)`
+operations, which are invoked by a Gitaly node when you execute the `git fetch` and
+`git archive --remote` commands respectively. You might need to increase the negotiation timeout:
+
+- For particularly large repositories.
+- When performing these commands in parallel.
+
+These timeouts affect only the [negotiation phase](https://git-scm.com/docs/pack-protocol/2.2.3#_packfile_negotiation) of
+remote Git operations, not the entire transfer.
+
+Valid values for timeouts follow the format of [`ParseDuration`](https://pkg.go.dev/time#ParseDuration) in Go.
+
+How you configure negotiation timeouts depends on the type of installation you have:
+
+::Tabs
+
+:::TabTitle Linux package (Omnibus)
+
+Edit `/etc/gitlab/gitlab.rb`:
+
+```ruby
+gitaly['configuration'] = {
+ timeout: {
+ upload_pack_negotiation: '10m', # 10 minutes
+ upload_archive_negotiation: '20m', # 20 minutes
+ }
+}
+```
+
+:::TabTitle Self-compiled (source)
+
+Edit `/home/git/gitaly/config.toml`:
+
+```toml
+[timeout]
+upload_pack_negotiation = "10m"
+upload_archive_negotiation = "20m"
+```
+
+::EndTabs