-
Improvement
-
Resolution: Unresolved
-
Major
-
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.
[JENKINS-11241] AccuRev: reduce load and increase speed for SCM polling
Description |
Original:
This should 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 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. |
New:
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. |
Assignee | Original: Scott Tatum [ statler ] | New: Joshua Sherwood [ jsherwood_accurev ] |
Workflow | Original: JNJira [ 141460 ] | New: JNJira + In-Review [ 175486 ] |
Assignee | Original: Joshua Sherwood [ jsherwood_accurev ] | New: Joseph Petersen (old) [ casz ] |
Assignee | Original: Joseph Petersen (old) [ casz ] |