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/user/project/repository/mirror/index.md')
-rw-r--r--doc/user/project/repository/mirror/index.md63
1 files changed, 54 insertions, 9 deletions
diff --git a/doc/user/project/repository/mirror/index.md b/doc/user/project/repository/mirror/index.md
index e1017e78437..1645cf7244e 100644
--- a/doc/user/project/repository/mirror/index.md
+++ b/doc/user/project/repository/mirror/index.md
@@ -228,10 +228,19 @@ This error can occur when a firewall performs a `Deep SSH Inspection` on outgoin
If you receive this error after creating a new project using
[GitLab CI/CD for external repositories](../../../../ci/ci_cd_for_external_repos/):
-```plaintext
-"2:fetch remote: "fatal: could not read Username for 'https://bitbucket.org':
-terminal prompts disabled\n": exit status 128."
-```
+- In Bitbucket Cloud:
+
+ ```plaintext
+ "2:fetch remote: "fatal: could not read Username for 'https://bitbucket.org':
+ terminal prompts disabled\n": exit status 128."
+ ```
+
+- In Bitbucket Server (self-managed):
+
+ ```plaintext
+ "2:fetch remote: "fatal: could not read Username for 'https://lab.example.com':
+ terminal prompts disabled\n": exit status 128.
+ ```
Check if the repository owner is specified in the URL of your mirrored repository:
@@ -239,13 +248,21 @@ Check if the repository owner is specified in the URL of your mirrored repositor
1. On the left sidebar, select **Settings > Repository**.
1. Expand **Mirroring repositories**.
1. If no repository owner is specified, delete and add the URL again in this format,
- replacing `OWNER`, `ACCOUNTNAME`, and `REPONAME` with your values:
+ replacing `OWNER`, `ACCOUNTNAME`, `PATH_TO_REPO`, and `REPONAME` with your values:
- ```plaintext
- https://OWNER@bitbucket.org/ACCOUNTNAME/REPONAME.git
- ```
+ - In Bitbucket Cloud:
+
+ ```plaintext
+ https://OWNER@bitbucket.org/ACCOUNTNAME/REPONAME.git
+ ```
+
+ - In Bitbucket Server (self-managed):
+
+ ```plaintext
+ https://OWNER@lab.example.com/PATH_TO_REPO/REPONAME.git
+ ```
-When connecting to the repository for mirroring, Bitbucket requires the repository owner in the string.
+When connecting to the Cloud or self-managed Bitbucket repository for mirroring, the repository owner is required in the string.
### Pull mirror is missing LFS files
@@ -257,3 +274,31 @@ In some cases, pull mirroring does not transfer LFS files. This issue occurs whe
[Fixed](https://gitlab.com/gitlab-org/gitlab/-/issues/335123) in GitLab 14.0.6.
- You mirror an external repository using object storage.
An issue exists [to fix this problem](https://gitlab.com/gitlab-org/gitlab/-/issues/335495).
+
+### `The repository is being updated`, but neither fails nor succeeds visibly
+
+In rare cases, mirroring slots on Redis can become exhausted,
+possibly because Sidekiq workers are reaped due to out-of-memory (OoM) events.
+When this occurs, mirroring jobs start and complete quickly, but they neither
+fail nor succeed. They also do not leave a clear log. To check for this problem:
+
+1. Enter the [Rails console](../../../../administration/operations/rails_console.md)
+ and check Redis' mirroring capacity:
+
+ ```ruby
+ current = Gitlab::Redis::SharedState.with { |redis| redis.scard('MIRROR_PULL_CAPACITY') }.to_i
+ maximum = Gitlab::CurrentSettings.mirror_max_capacity
+ available = maximum - current
+ ```
+
+1. If the mirroring capacity is `0` or very low, you can drain all stuck jobs with:
+
+ ```ruby
+ Gitlab::Redis::SharedState.with { |redis| redis.smembers('MIRROR_PULL_CAPACITY') }.each do |pid|
+ Gitlab::Redis::SharedState.with { |redis| redis.srem('MIRROR_PULL_CAPACITY', pid) }
+ end
+ ```
+
+1. After you run the command, the [background jobs page](../../../admin_area/index.md#background-jobs)
+ should show new mirroring jobs being scheduled, especially when
+ [triggered manually](#update-a-mirror).