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

race conditions in Triggers

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved (View Workflow)
    • Minor
    • Resolution: Fixed
    • core
    • None

    Description

      I saw it before, but seems JENKINS-29792 exposed it more obviously.

      1) Trigger has no synchronisation for calling run/stop after start() that initialises 'job' variable or any other plugin specified fields that can be used in run/stop
      2) Seems UI config submit always calls stop() even if trigger wasn't start, so either some API handlers/checks should exist, either stop/run must do null check and simply skip execution.

      Attachments

        Issue Links

          Activity

            integer Kanstantsin Shautsou created issue -
            integer Kanstantsin Shautsou made changes -
            Field Original Value New Value
            Link This issue is related to JENKINS-29792 [ JENKINS-29792 ]
            integer Kanstantsin Shautsou made changes -
            Link This issue is related to JENKINS-29790 [ JENKINS-29790 ]
            integer Kanstantsin Shautsou made changes -
            Link This issue is related to JENKINS-29787 [ JENKINS-29787 ]
            integer Kanstantsin Shautsou made changes -
            Link This issue is related to JENKINS-29698 [ JENKINS-29698 ]
            integer Kanstantsin Shautsou made changes -
            Description I saw it before, but seems JENKINS-29792 exposed it more obviously.

            1) Trigger has no synchronisation for calling run/stop after start() that initialises 'job' variable that can be used in run/stop
            2) Seems UI config submit always calls stop() even if trigger wasn't start, so either some API handlers/checks should exist, either stop/run must do null check and simply skip execution.
            I saw it before, but seems JENKINS-29792 exposed it more obviously.

            1) Trigger has no synchronisation for calling run/stop after start() that initialises 'job' variable or any other plugin specified fields that can be used in run/stop
            2) Seems UI config submit always calls stop() even if trigger wasn't start, so either some API handlers/checks should exist, either stop/run must do null check and simply skip execution.
            integer Kanstantsin Shautsou made changes -
            Assignee Kanstantsin Shautsou [ integer ]
            integer Kanstantsin Shautsou made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            integer Kanstantsin Shautsou made changes -
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Resolved [ 5 ]
            integer Kanstantsin Shautsou made changes -
            Link This issue is related to JENKINS-29876 [ JENKINS-29876 ]
            integer Kanstantsin Shautsou made changes -
            Link This issue is related to JENKINS-30145 [ JENKINS-30145 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 164870 ] JNJira + In-Review [ 197567 ]

            People

              integer Kanstantsin Shautsou
              integer Kanstantsin Shautsou
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: