[JIRA] (JENKINS-36849) Github organization folder plugin fetch timeouts

2 views
Skip to first unread message

truebzyq@gmail.com (JIRA)

unread,
Jul 22, 2016, 8:05:05 AM7/22/16
to jenkinsc...@googlegroups.com
Pawel Mucha updated an issue
 
Jenkins / Bug JENKINS-36849
Github organization folder plugin fetch timeouts
Change By: Pawel Mucha
Summary: Github organization folder plugin is using only master node fetch timeouts
Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

truebzyq@gmail.com (JIRA)

unread,
Jul 22, 2016, 8:11:01 AM7/22/16
to jenkinsc...@googlegroups.com
Pawel Mucha updated an issue
I have Jenkinsfile with specific node allocation and git checkout on that node, but "github organization folder plugin" is starting build on master and checking out repository on master with default timeout values, before starting my Jenkinsfile script, so I am getting timeouts, because my repository is really big and 10min is simply too small.

my Jenkinsfile looks like this:
{code:java}
node("*Not_master_node*")
{
      checkout(
             [$class: 'GitSCM',
   branches: [[name: "${env.BRANCH_NAME}"]],
   doGenerateSubmoduleConfigurations: false,
   extensions:
   [
    [$class: 'CleanBeforeCheckout'],
    [$class: 'CheckoutOption', timeout: 180],
    [$class: 'CloneOption',
     depth: 0,
     noTags: false,
     shallow: true,
     timeout: *180*
    ]
                     ],
     submoduleCfg: [],
     userRemoteConfigs: [[credentialsId: '...', url: 'https://github.com/...']]]
    )
}
{code}

I found difference in output between 'github organization' and 'multibranch pipeline' project build output, and this is propably reason why I am getting timeouts in one and on the other one not.

'github organization':

Started by user (...)
Connecting to https://api.github.com using (...)
> /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from 2 remote Git repositories
> /usr/bin/git config remote.origin.url https://github.com/(...) # timeout=10
Fetching upstream changes from https://github.com/(...).git
> /usr/bin/git --version # timeout=10
using .gitcredentials to set credentials
> /usr/bin/git config --local credential.username (...) # timeout=10
> /usr/bin/git config --local credential.helper store --file=/tmp/(...) # timeout=10
> /usr/bin/git -c core.askpass=true fetch --tags --progress https://github.com/(...).git +refs/heads/*:refs/remotes/origin/*

ERROR: Timeout after 10 minutes
> /usr/bin/git config --local --remove-section credential # timeout=10
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from https://github.com/(...).git
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:799)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1055)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1086)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:109)
at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:108)
at org.jenkinsci.plugins.workflow.multibranch.SCMBinder.create(SCMBinder.java:85)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:206)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:404)
Caused by: hudson.plugins.git.GitException: Command "/usr/bin/git -c core.askpass=true fetch --tags --progress https://github.com/(...).git +refs/heads/*:refs/remotes/origin/*" returned status code 143:


and the same fragment of log from 'multibranch pipeline':

Started by user (...)
Setting origin to https://github.com/(...)
Fetching origin...
> /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> /usr/bin/git config remote.origin.url https://github.com/(...) # timeout=10
Fetching upstream changes from https://github.com(...)
> /usr/bin/git --version # timeout=10
using .gitcredentials to set credentials
> /usr/bin/git config --local credential.username oocpawel # timeout=10
> /usr/bin/git config --local credential.helper store --file=/tmp/(...) # timeout=10
> /usr/bin/git -c core.askpass=true fetch --tags --progress https://github.com/Calnex/CAT +refs/heads/*:refs/remotes/origin/* --depth=1 # timeout=120
> /usr/bin/git config --local --remove-section credential # timeout=10
> /usr/bin/git rev-parse branches/JenkinsPipeline^{commit} # timeout=10
> /usr/bin/git rev-parse refs/remotes/origin/branches/JenkinsPipeline^{commit} # timeout=10
Checking out Revision 04471b0ad817b750d764234c09a11988895ba450 (refs/remotes/origin/branches/JenkinsPipeline)
> /usr/bin/git config core.sparsecheckout # timeout=10
> /usr/bin/git checkout -f 04471b0ad817b750d764234c09a11988895ba450
> /usr/bin/git rev-list 6100c72f6f7a841d35432711602ecd11ab68bc7d # timeout=10


the difference is in fetch line, originally 'multibranch pipeline' has timeout 120min and 'github organization' is using default 10min

truebzyq@gmail.com (JIRA)

unread,
Jul 22, 2016, 8:12:01 AM7/22/16
to jenkinsc...@googlegroups.com

truebzyq@gmail.com (JIRA)

unread,
Jul 22, 2016, 8:34:01 AM7/22/16
to jenkinsc...@googlegroups.com
the difference is in fetch line, originally 'multibranch pipeline' has timeout 120min and 'github organization' is using default 10min

jglick@cloudbees.com (JIRA)

unread,
Jul 28, 2016, 12:39:04 PM7/28/16
to jenkinsc...@googlegroups.com
Jesse Glick commented on Bug JENKINS-36849
 
Re: Github organization folder plugin fetch timeouts

There is no such difference in organization folders.

Probably a user error. Unless there is a simple way to reproduce this from scratch, and you are not willing to diagnose at the code level, will be closed.

truebzyq@gmail.com (JIRA)

unread,
Aug 4, 2016, 4:30:01 AM8/4/16
to jenkinsc...@googlegroups.com

Well I am using the same repo, the same branch with the same Jenkins file on the same Jenkins server, and 'multibranch pipeline' doesnt have timeouts but 'github organization folder' has timeout while checking out git repo before even starts my script (this is important because this is not a checkout that I am doing in my Jenkins file). I would like to use 'github organization folder' because git triggers are working for those builds and in the other hand those triggers are not working for 'multibranch pipeline', so thats why this is so important to me to have something that will be working in those two points, trigger+checkout without timeouts.

Cheers

truebzyq@gmail.com (JIRA)

unread,
Aug 12, 2016, 2:55:01 AM8/12/16
to jenkinsc...@googlegroups.com

I have found the difference, in 'multibranch pipeline' configuration page, there is possibility to choose different SCM, and for git I have two options "git" or "github" (propably from two different plugins), one of them: 'github' has the same configuration as 'github organization folder' but the other one 'git' has many other flags, that can be configured, example 'Advanced checkout behaviours: Timeout (in minutes) for checkout out', and I am using that one to make it longer than default 10 minutes, this is main reason why I am not getting timeouts in 'multibranch pipeline' project. Please could You expose that kind of configuration for github organization folder'?

Cheers

truebzyq@gmail.com (JIRA)

unread,
Aug 12, 2016, 2:56:05 AM8/12/16
to jenkinsc...@googlegroups.com
Pawel Mucha edited a comment on Bug JENKINS-36849

jglick@cloudbees.com (JIRA)

unread,
Aug 25, 2016, 5:10:01 PM8/25/16
to jenkinsc...@googlegroups.com
Jesse Glick resolved as Duplicate
 
Change By: Jesse Glick
Status: Open Resolved
Resolution: Duplicate
Reply all
Reply to author
Forward
0 new messages