What Renovate type are you using?
self-hosted on GitLab.com
Describe the bug
A couple of PR's timeout on creation I have the suspicion it is related to post body size.
Relevant debug logs
DEBUG: Creating PR (repository=XXXXXXXX, branch=renovate/phpunit-phpunit-9.x)
"prTitle": "Update dependency phpunit/phpunit to v9"
DEBUG: Creating Merge Request: Update dependency phpunit/phpunit to v9 (repository=XXXXXXXX, branch=renovate/phpunit-phpunit-9.x)
DEBUG: Gitlab API error (repository=XXXXXXXX, branch=renovate/phpunit-phpunit-9.x)
"err": {
"name": "TimeoutError",
"code": "ETIMEDOUT",
"timings": {
"start": 1597573535847,
"socket": 1597573535847,
"lookup": 1597573535865,
"connect": 1597573535877,
"secureConnect": 1597573535891,
"upload": 1597573535903,
"error": 1597573595854,
"phases": {
"wait": 0,
"dns": 18,
"tcp": 12,
"tls": 14,
"request": 12,
"total": 60007
}
},
"event": "request",
"message": "Timeout awaiting 'request' for 60000ms",
"stack": "RequestError: Timeout awaiting 'request' for 60000ms\n at ClientRequest.<anonymous> (/usr/src/app/node_modules/got/dist/source/core/index.js:888:25)\n at Object.onceWrapper (events.js:422:26)\n at ClientRequest.emit (events.js:327:22)\n at ClientRequest.EventEmitter.emit (domain.js:483:12)\n at ClientRequest.origin.emit (/usr/src/app/node_modules/@szmarczak/http-timer/dist/source/index.js:39:20)\n at TLSSocket.socketErrorListener (_http_client.js:426:9)\n at TLSSocket.emit (events.js:315:20)\n at TLSSocket.EventEmitter.emit (domain.js:483:12)\n at emitErrorNT (internal/streams/destroy.js:92:8)\n at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n at processTicksAndRejections (internal/process/task_queues.js:84:21)\n at Timeout.timeoutHandler [as _onTimeout] (/usr/src/app/node_modules/got/dist/source/core/utils/timed-out.js:36:25)\n at listOnTimeout (internal/timers.js:551:17)\n at processTimers (internal/timers.js:492:7)"
}
DEBUG: Pull request creation error (repository=XXXXXXXX, branch=renovate/phpunit-phpunit-9.x)
"err": {
"hostType": "gitlab",
"err": {
"name": "TimeoutError",
"code": "ETIMEDOUT",
"timings": {
"start": 1597573535847,
"socket": 1597573535847,
"lookup": 1597573535865,
"connect": 1597573535877,
"secureConnect": 1597573535891,
"upload": 1597573535903,
"error": 1597573595854,
"phases": {
"wait": 0,
"dns": 18,
"tcp": 12,
"tls": 14,
"request": 12,
"total": 60007
}
},
"event": "request"
},
"message": "external-host-error",
"stack": "Error: external-host-error\n at GitlabHttp.request (/usr/src/app/node_modules/renovate/lib/util/http/gitlab.ts:75:15)\n at runMicrotasks (<anonymous>)\n at processTicksAndRejections (internal/process/task_queues.js:97:5)"
}
To Reproduce
from the composer.json
{
"require-dev": {
"phpunit/phpunit": "^4.8"
},
}
Additional context
I have seen lot's of issues related to this maybe it would be possible to configure the ChangeLog config on a repo basis?
We are just introducing this and we have some repos that are pretty out of date and out of shape.
Same happens on a go repo.
DEBUG: Creating Merge Request: Update module aws/aws-sdk-go to v1.34.5 (repository=XXXXXX, branch=renovate/github.com-aws-aws-sdk-go-1.x)
Where we are currently on:
github.com/aws/aws-sdk-go v1.30.20
As well as in a terraform repo:
DEBUG: Creating Merge Request: Update Terraform aws to ~> 2.0 (repository=spectrm/deployment/infrastructure-terraform, branch=renovate/aws-2.x)
Where I have currently set:
provider "aws" {
version = "~> 2.49"
region = "eu-central-1"
}
so I build this docker image:
FROM renovate/renovate:22.17.2
USER root
RUN sed -i s/50000/parseInt\(process\.env\.SMART_COMMIT_LIMIT\)\|\|50000/g /usr/src/app/node_modules/renovate/dist/platform/gitlab/index.js
USER 1000
50k does not work at all for some of the projects
40k as well
30k worked for terraform and Go Repos
25k did the rest for the last php repo.
Although we could try increasing the 60s timeout too, I think let's go with permanently reducing the GitLab body size to 25k as per your testing.
There is a related GitLab Bug were they parse markdown in sync and then abort after a certain timeframe has passed.
We can raise the limit again if they fix that big. Supporting (in theory) 1MB but timing out > 25KB is quite a difference.
Sure! I just wanted to reference it.
I also have opened a GitLab Support Request.
and on a side note besides this little hurdle renovate is amazingly easy to use and does a ton of work for us after already just one weekend of setting it up! Thanks for this project.
:tada: This issue has been resolved in version 22.22.2 :tada:
The release is available on:
22.22.2Your semantic-release bot :package::rocket:
Most helpful comment
Sure! I just wanted to reference it.
I also have opened a GitLab Support Request.
and on a side note besides this little hurdle renovate is amazingly easy to use and does a ton of work for us after already just one weekend of setting it up! Thanks for this project.