Latest Git Client plugin not showing submodule timeout setting

167 views
Skip to first unread message

abierbaum

unread,
Sep 30, 2014, 8:31:19 AM9/30/14
to jenkins...@googlegroups.com
We have a Jenkins install that we have been using for years for running all of our build jobs.  Recently we ran into an issue with one of our git repositories where the initial submodules update would take longer than the 10 minute limit and would timeout.  I started looking for a solution and found that the Git Client Plugin [1] added support for a submodule timeout value in version 1.9.0 [2].  Looking at the code change [3], it looks like this should add a timeout field in the submodule options section of the configuration.

Based upon this, I updated Jenkins and all plugins.  (Jenkins 1.581, Git Plugin 2.2.6, Git Client Plugin 1.10.2).  After fixing a couple of issues where credentials didn't migrate, etc I have Jenkins up and running again as it was before the update.

Unfortunately I can't find the submodule timeout option in the settings for Git on a job.  I tried removing the Git settings for a job and even tried creating a new job from scratch, but I can't find any place in the UI to set the options for submodule.  This is what the screen looks like for me:



Mark Waite

unread,
Sep 30, 2014, 10:05:15 AM9/30/14
to jenkins...@googlegroups.com
I believe the clone timeout value specified in the "Additional Behaviours" section "Advanced clone opitions" is also applied to submodules fetch operations.

Mark Waite

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Thanks!
Mark Waite

abierbaum

unread,
Sep 30, 2014, 10:19:22 AM9/30/14
to jenkins...@googlegroups.com
Mark:

As best I can determine that timeout is not flowing through to submodules.  In the console output of my build job I see:

> git init /jenkins_root/workspace/pylint_0_dev # timeout=10
Fetching upstream changes from g...@github.com:domain/project.git
 > git --version # timeout=10
 > git fetch --tags --progress g...@github.com:domain/project.git +refs/heads/*:refs/remotes/origin/* # timeout=30
 > git config remote.origin.url g...@github.com:domain/project.git # timeout=10
 > git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url g...@github.com:domain/project.git # timeout=10
Pruning obsolete local branches
Fetching upstream changes from g...@github.com:domain/project.git
 > git fetch --tags --progress g...@github.com:domain/project.git +refs/heads/*:refs/remotes/origin/* --prune # timeout=30
Checking out Revision 123456789abcd (origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 123456789abcd
 > git rev-list 123456789abcd # timeout=10
 > git remote # timeout=10
 > git submodule init # timeout=10
 > git submodule sync # timeout=10
 > git config --get remote.origin.url # timeout=10
 > git submodule update --init --recursive
No emails were triggered.

From the comments in there "timeout=" it looks like the timeout 30 only affects the git fetch commands on the main repo (and likely the initial git clone command).  The timeouts for the submodule commands seems to be 10 minutes still.

-Allen

Mark Waite

unread,
Sep 30, 2014, 10:56:35 AM9/30/14
to jenkins...@googlegroups.com
Thanks.  You're correct.  If the timeout= value shows 10, then the timeout is not being passed to the submodule fetch.

Since there is code in the plugin to configure a timeout, there must be something missing which is preventing that option from displaying in the submodule config options of the plugin.

You could submit a bug report, or you could investigate the problem and submit a pull request to fix the problem (or both).

Thanks,
Mark Waite

Mark Waite

unread,
Oct 25, 2014, 1:42:02 PM10/25/14
to jenkins...@googlegroups.com
Sorry for the long delay in the reply.  The change to enable submodule timeout has only been applied to the master branch on the git-plugin.  The master branch is currently targeted for version 2.3.  A version of the plugin is available from the beta update center as 2.3-beta-3.

The 2.2.x branch has not received that change, so no released version of the plugin includes that submodule timeout setting.

Mark Waite
--
Thanks!
Mark Waite

Mark Waite

unread,
Oct 25, 2014, 2:12:52 PM10/25/14
to jenkins...@googlegroups.com
I cherry picked the change to the 2.2.x, it should be available in 2.2.8 when it is released.
--
Thanks!
Mark Waite
Reply all
Reply to author
Forward
0 new messages