[JIRA] (JENKINS-41336) Cron based jobs are triggered at random times and also at the time Stash is unavailable

9 views
Skip to first unread message

vivian.zhang@turn.com (JIRA)

unread,
Jan 23, 2017, 1:21:01 PM1/23/17
to jenkinsc...@googlegroups.com
Vivian zhang created an issue
 
Jenkins / Bug JENKINS-41336
Cron based jobs are triggered at random times and also at the time Stash is unavailable
Issue Type: Bug Bug
Assignee: nathan m
Components: stash-pullrequest-builder-plugin
Created: 2017/Jan/23 6:20 PM
Environment: Jenkins 2.7
stash-pullrequest-builder-plugin 1.7
Priority: Blocker Blocker
Reporter: Vivian zhang

The cron based jobs are working fine until stash-pullrequest-builder-plugin is installed and configured for one of our gating job. The frequency to run is every 2 min. Since then all the cron based jobs are not triggered at specified time, but rather at random time. They also get triggered every time Stash is unavailable, such as during its backup. Hence all cron based jobs failed.

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

gentoo.integer@gmail.com (JIRA)

unread,
Feb 13, 2017, 10:10:02 AM2/13/17
to jenkinsc...@googlegroups.com
Kanstantsin Shautsou commented on Bug JENKINS-41336
 
Re: Cron based jobs are triggered at random times and also at the time Stash is unavailable

Description has nothing useful, during the problem catch /threadDump

aheritier@apache.org (JIRA)

unread,
Feb 14, 2017, 5:51:09 PM2/14/17
to jenkinsc...@googlegroups.com

Kanstantsin Shautsou the behavior is that all cron based jobs aren't executed when they are supposed to do it because Triggers are busy to interact with stash

The thread is showing something like this (thanks Daniel Beck)

at stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getRequest(StashApiClient.java:254)
at stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getPullRequestMergeStatus(StashApiClient.java:150)
at stashpullrequestbuilder.stashpullrequestbuilder.StashRepository.isPullRequestMergable(StashRepository.java:209)
at stashpullrequestbuilder.stashpullrequestbuilder.StashRepository.isBuildTarget(StashRepository.java:261)
at stashpullrequestbuilder.stashpullrequestbuilder.StashRepository.getTargetPullRequests(StashRepository.java:75)
at stashpullrequestbuilder.stashpullrequestbuilder.StashPullRequestsBuilder.run(StashPullRequestsBuilder.java:32)
at stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger.run(StashBuildTrigger.java:299)
at hudson.triggers.Trigger.checkTriggers(Trigger.java:273)
at hudson.triggers.Trigger$Cron.doRun(Trigger.java:222)

Trigger.checkTriggers should only call tasks which are immediate. These ones could start in another thread a longer process to really trigger the job or not.
Here the StashBuildTrigger.run does too much stuffs and is quickly blocked or creates a lot of delay if the Stash isn't available or doesn't reply quickly (which is never the case).
This bug makes this plugin not usable and the only solution is to deactivate/uninstall it for now.

gentoo.integer@gmail.com (JIRA)

unread,
Feb 14, 2017, 6:07:01 PM2/14/17
to jenkinsc...@googlegroups.com

Right or stop calling from cron if it has configured hooks, depends on plugin design.

vivian.zhang@turn.com (JIRA)

unread,
Feb 14, 2017, 7:00:02 PM2/14/17
to jenkinsc...@googlegroups.com

I'm surprised that the plugin requires cron to be set up for the job, which is very inefficient to go through all the open PRs every time. It should try to use the branch info provided by Stash post-commit hook instead.

gentoo.integer@gmail.com (JIRA)

unread,
Feb 14, 2017, 7:03:01 PM2/14/17
to jenkinsc...@googlegroups.com

That's jenkins design - all Triggers inherit cron functionality, but it can be simply skipped.

vivian.zhang@turn.com (JIRA)

unread,
Feb 14, 2017, 7:43:01 PM2/14/17
to jenkinsc...@googlegroups.com

What I meant was this plugin should rely on Stash's post-commit webhook plugin for sending change notification to Jenkins, and trigger the build with poll scm option checked (no cron needed here). Looks like this place is to report Jenkins core bug, maybe I should file an issue report at the plugin's github site?

gentoo.integer@gmail.com (JIRA)

unread,
Feb 14, 2017, 7:44:02 PM2/14/17
to jenkinsc...@googlegroups.com

vivian.zhang@turn.com (JIRA)

unread,
Feb 14, 2017, 8:03:04 PM2/14/17
to jenkinsc...@googlegroups.com

That's how it's been working without this plugin, although I still like some of the features provided by this plugin.

larry.brigman@arris.com (JIRA)

unread,
Mar 24, 2017, 12:58:02 PM3/24/17
to jenkinsc...@googlegroups.com

I'm seeing jobs queue when I get this error:

Mar 23, 2017 4:43:00 PM stashpullrequestbuilder.stashpullrequestbuilder.StashRepository getTargetPullRequests
INFO: Fetch PullRequests (ansible-checks).
java.util.concurrent.ExecutionException: java.net.SocketTimeoutException: Read timed out
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:202)
at stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getRequest(StashApiClient.java:254)
at stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getPullRequests(StashApiClient.java:86)

 

Using Jenkins 2.44 on Ubuntu 14.04 LTS

OpenJDK 64bit Java 1.7.0_79

Stash Pull Request Builder 1.7

Against Stash/Bitbucket v4.4.1

The timeout is due to an issue on the bitbucket end but it shouldn't be causing a build to be queued.

This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e)
Atlassian logo

ivan.polonevich@gmail.com (JIRA)

unread,
Aug 6, 2018, 1:01:02 PM8/6/18
to jenkinsc...@googlegroups.com

bochenski.kuba+jenkins@gmail.com (JIRA)

unread,
Jan 31, 2019, 6:48:02 AM1/31/19
to jenkinsc...@googlegroups.com
Jakub Bochenski assigned an issue to Unassigned
 
Change By: Jakub Bochenski
Assignee: nathan m
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

bochenski.kuba+jenkins@gmail.com (JIRA)

unread,
Jan 31, 2019, 6:58:02 AM1/31/19
to jenkinsc...@googlegroups.com
Jakub Bochenski commented on Bug JENKINS-41336
 
Re: Cron based jobs are triggered at random times and also at the time Stash is unavailable

So the issue here is that StashBuildTrigger.run runs for too long?

bochenski.kuba+jenkins@gmail.com (JIRA)

unread,
Feb 18, 2019, 5:39:01 AM2/18/19
to jenkinsc...@googlegroups.com
Jakub Bochenski closed an issue as Fixed
 

This issue has been closed because of inactivity. Please reopen it if you think it's still valid

Change By: Jakub Bochenski
Status: Open Closed
Resolution: Fixed

luis.ehlen@gmail.com (JIRA)

unread,
Feb 20, 2020, 3:38:03 PM2/20/20
to jenkinsc...@googlegroups.com
Luis Ehlen commented on Bug JENKINS-41336
 
Re: Cron based jobs are triggered at random times and also at the time Stash is unavailable

I just updated to the latest Jenkins LTS 2.204.2 and the latest version of the stash pull request builder plugin 1,17 (from 1.8) and the mentioned behavior with the cron based jobs appeared.
I can see this on my logs:

 

Feb 19, 2020 12:25:29 PM WARNING hudson.triggers.Trigger checkTriggersTrigger

stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger.run() triggered by hudson.maven.MavenModuleSet@45177041[JOB_NAME] spent too much time (54 sec) in its execution, other timers can be affected

This message was sent by Atlassian Jira (v7.13.6#713006-sha1:cc4451f)
Atlassian logo

luis.ehlen@gmail.com (JIRA)

unread,
Feb 20, 2020, 3:39:04 PM2/20/20
to jenkinsc...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages