Retry branch indexing on multibranch pipeline

Hello

I am using multibranch pipeline with Git as a branch source, build configuration is stored in Jenkinsfile. I do experience intermittent failures during branch indexing step, like below:

git fetch --tags --force --progress – origin +refs/heads/:refs/remotes/origin/ # timeout=10
hudson.plugins.git.GitException: Command “git fetch --tags --force --progress – origin +refs/heads/:refs/remotes/origin/” returned status code 128:
stdout:
stderr: fatal: unable to access ‘https://gitlabhostname.net.com/project/job.git/’: Could not resolve host: gitlabhostname.net.com

When I retry the job a moment later indexing is successful and the job starts. Is there any way we can set up the jenkins so it retries the branch indexing upon failure? In this setup I can’t do much about gitlab host as it’s maintained by other unit at my work.

Best regards,
Adrian

Jenkins setup:
Jenkins: 2.419
OS: Linux - 5.17.5-200.fc35.x86_64
Java: 11.0.15 - Red Hat, Inc. (OpenJDK 64-Bit Server VM)
---
Office-365-Connector:4.20.0
analysis-model-api:11.6.0
ansible:204.v8191fd551eb_f
ansicolor:1.0.3
ant:497.v94e7d9fffa_b_9
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-150.v7a_b_9d17134a_5
authentication-tokens:1.53.v1c90fd9191a_b_
authorize-project:1.7.1
blackduck-detect:8.0.1
blueocean:1.27.5
blueocean-autofavorite:1.2.5
blueocean-bitbucket-pipeline:1.27.5
blueocean-commons:1.27.5
blueocean-config:1.27.5
blueocean-core-js:1.27.5
blueocean-dashboard:1.27.5
blueocean-display-url:2.4.2
blueocean-events:1.27.5
blueocean-git-pipeline:1.27.5
blueocean-github-pipeline:1.27.5
blueocean-i18n:1.27.5
blueocean-jira:1.27.5
blueocean-jwt:1.27.5
blueocean-personalization:1.27.5
blueocean-pipeline-api-impl:1.27.5
blueocean-pipeline-editor:1.27.5
blueocean-pipeline-scm-api:1.27.5
blueocean-rest:1.27.5
blueocean-rest-impl:1.27.5
blueocean-web:1.27.5
bootstrap5-api:5.3.0-1
bouncycastle-api:2.29
branch-api:2.1122.v09cb_8ea_8a_724
build-pipeline-plugin:1.5.8
build-timeout:1.31
build-user-vars-plugin:1.9
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.0.0
chromedriver:1.2
cloudbees-bitbucket-branch-source:825.va_6a_dc46a_f97d
cloudbees-folder:6.846.v23698686f0f6
cobertura:1.17
code-coverage-api:4.7.0
command-launcher:106.vb_a_b_8f751309c
commons-httpclient3-api:3.1-3
commons-lang3-api:3.13.0-62.v7d18e55f51e2
commons-text-api:1.10.0-68.v0d0b_c439292b_
conditional-buildstep:1.4.3
configuration-as-code:1670.v564dc8b_982d0
configurationslicing:548.ve92d48e66b_f8
console-column-plugin:197.vcf5a_ec1d7b_47
copyartifact:714.v28a_34f8c563f
credentials:1271.v54b_1c2c6388a_
credentials-binding:631.v861c06d062b_4
custom-tools-plugin:0.8
dashboard-view:2.495.v07e81500c3f2
data-tables-api:1.13.5-1
delivery-pipeline-plugin:1.4.2
display-url-api:2.3.8
docker-commons:439.va_3cb_0a_6a_fb_29
docker-workflow:572.v950f58993843
durable-task:513.vc48a_a_075a_d93
echarts-api:5.4.0-5
email-ext:2.100
envinject-api:1.199.v3ce31253ed13
extended-choice-parameter:376.v2e02857547b_a_
external-monitor-job:207.v98a_a_37a_85525
favorite:2.4.3
font-awesome-api:6.4.0-2
forensics-api:2.3.0
git:5.2.0
git-client:4.4.0
git-parameter:0.9.19
git-server:99.va_0826a_b_cdfa_d
github:1.37.3
github-api:1.314-431.v78d72a_3fe4c3
github-autostatus:3.6.2
github-branch-source:1732.v3f1889a_c475b_
gitlab-plugin:1.7.15
global-build-stats:282.v79ca_e079d1b_1
gradle:2.8.2
handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953
htmlpublisher:1.32
http_request:1.18
influxdb:3.5
instance-identity:173.va_37c494ec4e5
ionicons-api:56.v1b_1c8c49374e
jackson2-api:2.15.2-350.v0c2f3f8fc595
jacoco:3.3.4
jakarta-activation-api:2.0.1-3
jakarta-mail-api:2.0.1-3
javadoc:243.vb_b_503b_b_45537
javax-activation-api:1.2.0-6
javax-mail-api:1.6.2-9
jaxb:2.3.8-1
jdk-tool:73.vddf737284550
jenkins-design-language:1.27.5
jersey2-api:2.40-1
jira:3.10
jjwt-api:0.11.5-77.v646c772fddb_0
jnr-posix-api:3.1.17-1
jquery:1.12.4-1
jquery3-api:3.7.0-1
jsch:0.2.8-65.v052c39de79b_2
junit:1217.v4297208a_a_b_ce
ldap:694.vc02a_69c9787f
lockable-resources:1185.v0c528656ce04
mailer:463.vedf8358e006b_
mapdb-api:1.0.9-28.vf251ce40855d
matrix-auth:3.1.10
matrix-project:808.v5a_b_5f56d6966
maven-plugin:3.23
mercurial:1260.vdfb_723cdcc81
mina-sshd-api-common:2.10.0-69.v28e3e36d18eb_
mina-sshd-api-core:2.10.0-69.v28e3e36d18eb_
monitoring:1.95.0
nodelabelparameter:1.12.0
okhttp-api:4.11.0-157.v6852a_a_fa_ec11
opentelemetry:2.14.0
pam-auth:1.10
parameterized-scheduler:1.2
parameterized-trigger:2.46
pipeline-build-step:505.v5f0844d8d126
pipeline-github-lib:42.v0739460cda_c4
pipeline-graph-analysis:202.va_d268e64deb_3
pipeline-groovy-lib:671.v07c339c842e8
pipeline-input-step:477.v339683a_8d55e
pipeline-milestone-step:111.v449306f708b_7
pipeline-model-api:2.2144.v077a_d1928a_40
pipeline-model-definition:2.2144.v077a_d1928a_40
pipeline-model-extensions:2.2144.v077a_d1928a_40
pipeline-rest-api:2.33
pipeline-stage-step:305.ve96d0205c1c6
pipeline-stage-tags-metadata:2.2144.v077a_d1928a_40
pipeline-stage-view:2.33
pipeline-utility-steps:2.16.0
plain-credentials:143.v1b_df8b_d3b_e48
plugin-util-api:3.3.0
popper2-api:2.11.6-2
prism-api:1.29.0-7
publish-over:0.22
publish-over-ssh:1.25
pubsub-light:1.17
pyenv-pipeline:2.1.2
rebuild:320.v5a_0933a_e7d61
resource-disposer:0.23
robot:3.4.0
role-strategy:680.v3a_6a_1698b_864
run-condition:1.6
scm-api:676.v886669a_199a_a_
script-security:1264.vecf66020eb_7d
shiningpanda:0.24
snakeyaml-api:1.33-95.va_b_a_e3e47b_fa_4
sonar:2.15
sse-gateway:1.26
ssh-credentials:308.ve4497b_ccd8f4
ssh-slaves:2.916.vd17b_43357ce4
sshd:3.312.v1c601b_c83b_0e
structs:324.va_f5d6774f3a_d
subversion:2.17.3
thinBackup:1.18
timestamper:1.26
token-macro:384.vf35b_f26814ec
trilead-api:2.84.v72119de229b_7
variant:59.vf075fe829ccb
warnings-ng:10.4.0
workflow-aggregator:596.v8c21c963d92d
workflow-api:1251.vd4889a_b_0a_065
workflow-basic-steps:1042.ve7b_140c4a_e0c
workflow-cps:3731.ve4b_5b_857b_a_d3
workflow-durable-task-step:1284.v4fcd365b_75b_e
workflow-job:1316.vd2290d3341a_f
workflow-multibranch:756.v891d88f2cd46
workflow-scm-step:415.v434365564324
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:848.v5a_383b_d14921
ws-cleanup:0.45

Not as far as I know.

Retries for a hostname lookup failure are usually not a good choice because a hostname lookup failure means there are domain name server issues that are likely to affect many different users and many different processes. You’ll be much happier if you find and fix the domain name server resolution issue rather than implementing retries in all the locations that depend on DNS.