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

AccuRev: reduce load and increase speed for SCM polling

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major Major
    • accurev-plugin
    • None
    • Jenkins v1.432, AccuRev Plugin v0.6.18

      This feature should be usable per job setting so that each job/project can either use the old style or this style because not every project likes to have the extra required stream.

      – -- – -- –

      Here is a suggestion for a more effective AccuRev polling to decide whether a CI build should be started.

      1) One time only: Create a sub-stream of Project named Project_Last_CI and set time-basis to "now"
      accurev mkstream -s Project_Last_CI -b Project -t now

      2) On each polling cycle, check to see if there are any changes in Project (promotes into Project, its parent, its grandparent, any xlinks, etc.)
      accurev diff -a -i -v Project -V Project_Last_CI

      3) If the accurev diff command produces any output, it is time to kick off a CI build
      a) Update Last_CI stream time-basis
      accurev chstream -s Project_Last_CI -t now
      b) Perform regular hist information being done today to capture transactions
      c) workspace update
      d) build

      Because the diff command normally takes just 4-5 seconds, even for a large stream, this will create a significant load reduction. It should actually enable the project to run the polling more frequently while simultaneously creating less load on the AccuRev server.

            Unassigned Unassigned
            robsimon robsimon
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: