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

Polling breaks with multiple slaves with own workspace

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • p4-plugin
    • None
    • Jenkins ver 2.17, p4 plugin 1.4.4

      When using multiple slaves, each with their own perforce workspace, polling appears to be broken causing endless rebuilds.

      One slave does the polling, finding changes:

      P4 Task: establishing connection.
      ... server: perforce.somewhere.com:1666
      ... node: A
      P4: Polling with cstat: //

      {some-path}/...
      ... p4 cstat //{some-path}

      /... +
      ... p4 change -o 113712 +
      ... found change: 113712
      ... p4 change -o 113686 +
      ... found change: 113686

      Triggering a build on another host:

      P4 Task: establishing connection.
      ... server: perforce.somewhere.com:1666
      ... node: B

      Which already has all the changes!

      It seems that the p4-plugin is relying only on the perforce servers knowledge of what the client has to decide if a new build is needed, which breaks if multiple clients are polling/building.

      Maybe it would be better to save the last changelist id on the master and only build if a new changelist is found on when querying the server?

            p4paul Paul Allen
            pyssling Nils Carlson
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: