Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updatebot making tons of commits to an existing PR in rapid succession causes pipelinerunner to fall over #4771

Closed
abayer opened this issue Jul 17, 2019 · 10 comments

Comments

@abayer
Copy link
Contributor

abayer commented Jul 17, 2019

{"level":"fatal","msg":"failed to clone three times it's likely things wont recover so lets kill the process after 3 attempts, last error: failed to fetch [pull/5766/head:PR-5766 0ffa7b5c253153cb70d9c41aa95c8b76766d4ceb] from https://github.com/jenkins-x/jenkins-x-platform.git in directory /tmp/git204215515: git output: error: Server does not allow request for unadvertised object 0ffa7b5c253153cb70d9c41aa95c8b76766d4ceb: failed to run 'git fetch origin --depth=1 pull/5766/head:PR-5766 0ffa7b5c253153cb70d9c41aa95c8b76766d4ceb' command in directory '/tmp/git204215515', output: 'error: Server does not allow request for unadvertised object 0ffa7b5c253153cb70d9c41aa95c8b76766d4ceb'","time":"2019-07-17T18:53:46Z"}

Something about the rapid-fire succession of commits causes problems with the checkout. Ideally we'd either batch them or not open the PR until we've made all the commits.

@cagiti
Copy link
Contributor

cagiti commented Jul 17, 2019

{"level":"fatal","msg":"failed to clone three times it's likely things wont recover so lets kill the process after 3 attempts, last error: failed to fetch [pull/5766/head:PR-5766 0ffa7b5c253153cb70d9c41aa95c8b76766d4ceb] from https://github.com/jenkins-x/jenkins-x-platform.git in directory /tmp/git204215515: git output: error: Server does not allow request for unadvertised object 0ffa7b5c253153cb70d9c41aa95c8b76766d4ceb: failed to run 'git fetch origin --depth=1 pull/5766/head:PR-5766 0ffa7b5c253153cb70d9c41aa95c8b76766d4ceb' command in directory '/tmp/git204215515', output: 'error: Server does not allow request for unadvertised object 0ffa7b5c253153cb70d9c41aa95c8b76766d4ceb'","time":"2019-07-17T18:53:46Z"}

Something about the rapid-fire succession of commits causes problems with the checkout. Ideally we'd either batch them or not open the PR until we've made all the commits.

I think the latter approach makes sense 👍

@abayer
Copy link
Contributor Author

abayer commented Jul 17, 2019

cc @pmuir

@abayer
Copy link
Contributor Author

abayer commented Jul 18, 2019

This combined with pipelinerunner crashing enough times in a row sends the pod into crash back off, meaning nothing can build at all for a while. Ow.

@pmuir
Copy link
Contributor

pmuir commented Jul 18, 2019

Simplest is to improve the updatebot command so it can make one commit where it's currently making lots - that's just a limitation in the way it does updates.

It would be very hard to make it batch them somehow as they are not all connected processes. That would probably be easier to address by introducing some sort of delay/sleep/quiet period in the controller.

@pmuir
Copy link
Contributor

pmuir commented Jul 18, 2019

There is also no reason to kill the pipeline runner in this scenario. We are killing it to handle those odd errors we have with git where there is no output IIRC.

abayer added a commit to abayer/jx that referenced this issue Jul 18, 2019
…art`

This helps with jenkins-x#4771 (though I don't think it fixes _everything_,
since we still end up making changes to the PR for each `jx step
create pr ...` call rather than batching all those changes into one
push), so I think it's worth doing on its own.

Not sure how to test this without writing a full-on test framework for
`jx step create pr ...`, which we obviously do need to do, but that's
a followup IMO.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
@abayer
Copy link
Contributor Author

abayer commented Jul 18, 2019

We're killing pipelinerunner 'cos we're still on such an old pipelinerunner that it doesn't have the fix from like two months ago to ignore the unadvertised object error.

@abayer
Copy link
Contributor Author

abayer commented Jul 18, 2019

(which reminds me that we should probably also ignore merge conflicts there - next time I see one show up in the logs so that I can get the error message right, I'll open a PR for that)

@abayer
Copy link
Contributor Author

abayer commented Jul 18, 2019

2aa2225 is the relevant commit that made pipelinerunner stop panicking for unadvertised object, fwiw.

@abayer
Copy link
Contributor Author

abayer commented Jul 18, 2019

oh, wait, we don't panic over merge conflicts. Ignore me on that front. =)

jenkins-x-bot pushed a commit that referenced this issue Jul 18, 2019
…art`

This helps with #4771 (though I don't think it fixes _everything_,
since we still end up making changes to the PR for each `jx step
create pr ...` call rather than batching all those changes into one
push), so I think it's worth doing on its own.

Not sure how to test this without writing a full-on test framework for
`jx step create pr ...`, which we obviously do need to do, but that's
a followup IMO.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
@deanesmith deanesmith added this to the Sprint 11 milestone Jul 18, 2019
abayer added a commit to abayer/jenkins-x-builders that referenced this issue Jul 18, 2019
Also fixed the tag for `nodejs10x`, which was pushing on release to
`nodejs8x`. Oops.

Relates to jenkins-x/jx#4771, depends on
jenkins-x/jx#4777, which will be in the
relevant builder starting with jenkins-x#582

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
abayer added a commit to abayer/jenkins-x-builders that referenced this issue Jul 19, 2019
Also fixed the tag for `nodejs10x`, which was pushing on release to
`nodejs8x`. Oops.

Relates to jenkins-x/jx#4771, depends on
jenkins-x/jx#4777, which will be in the
relevant builder starting with jenkins-x#582

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
@abayer
Copy link
Contributor Author

abayer commented Aug 1, 2019

I'm gonna close this - we solved the immediate problem, which was more usage than mechanical.

@abayer abayer closed this as completed Aug 1, 2019
daveconde pushed a commit to daveconde/jx that referenced this issue Apr 7, 2020
…art`

This helps with jenkins-x#4771 (though I don't think it fixes _everything_,
since we still end up making changes to the PR for each `jx step
create pr ...` call rather than batching all those changes into one
push), so I think it's worth doing on its own.

Not sure how to test this without writing a full-on test framework for
`jx step create pr ...`, which we obviously do need to do, but that's
a followup IMO.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants