Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-8304

Hudson shouldn't let Triggers block indefinitely

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • core
    • Windows, using UrlChangeTrigger

      Recreation steps:
      1) Create "JobA" that triggers periodically, and executes every minute (cron spec of * * * * *)
      2) Open a port on TCP that never responds, and never closes. Using netcat, you can do this with: nc -l -p 80
      3) Create "JobB" that triggers using the UrlChangeTrigger, and set the URL to connect to the port that you opened in step 2.
      4) Save job, wait for hudson to poll.
      5) Wait a couple minutes. Notice that "JobA" never gets triggered.

      The UrlChangeTrigger doesn't have any timeouts, so it won't drop the connection. And since the cron tasks are single-threaded, other triggers won't be executed until the server drops the connection.

      There are two bugs here:
      1) UrlChangeTrigger should enforce a timeout. I'm working on a patch to the UrlChangeTrigger plugin to fix this, and will submit it when I do.
      2) Hudson shouldn't let a Trigger plugin block indefinitely.

      This bug report should cover #2.

            Unassigned Unassigned
            xepo xepo
            Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: