Quantcast

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org
Issue Type: Bug Bug
Affects Versions: current
Assignee: Unassigned
Components: cvs
Created: 31/Aug/12 3:49 PM
Description:

The Jenkins CVS Plugin doesn't detect labeled changes on a branch. Commits directly done on the branch are detected and shown in the changes list, but it doesn't work for labeled changes on the branch from e.g. HEAD.

Could it be related somehow to the way how the 'cvs rlog' command is being used during polling?

This happens at least since version 2.5 and leads to an unreliable system.

Environment: Windows Server 2008 R2, Jenkins 1.473, CVS Plugin 2.6-SNAPSHOT #37
Project: Jenkins
Priority: Critical Critical
Reporter: Cédric Jonas
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org

Cédric: I'm not sure I fully understand your issue. Could you provide a set of steps you follow to re-create the defect, as well as a job config and output of CVS RLOG if you think something is being missed in the parsing?

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org
In reply to this post by JIRA noreply@jenkins-ci.org

Steps:

  • Create a Job for a CVS branch (see configuration below).
  • Commit some changes directly to the branch -> Jenkins will trigger a build once the polling was done.
  • To get a change from HEAD to the branch, move the branch tag (we "merge" our changes to the branch by moving the branch tag, if possible) -> the polling will not discover any changes.

This worked in old versions which used 'cvs update' for polling.

The CVS rlog output shows nothing, since it doesn't find any changes on the branch (excepted the change was commit directly on the branch, then it works)

Started on 05.09.2012 14:01:24
cvs rlog -S -d05 Sep 2012 12:03:00 +0200<05 Sep 2012 14:01:24 +0200 WISKI/java
cvs rlog: Logging WISKI/java
cvs rlog: Logging WISKI/java/base
...
Done. Took 43 Sekunden
No changes

Here's the job config:

...
<scm class="hudson.scm.CVSSCM">
<flatten>true</flatten>
<repositories>
<hudson.scm.CvsRepository>
<cvsRoot>:pserver:xxx@xxx:/cvssrc</cvsRoot>
<repositoryItems>
<hudson.scm.CvsRepositoryItem>
<modules>
<hudson.scm.CvsModule>
<localName></localName>
<remoteName>WISKI/java</remoteName>
</hudson.scm.CvsModule>
</modules>
<location class="hudson.scm.CvsRepositoryLocation$BranchRepositoryLocation">
<locationType>BRANCH</locationType>
<locationName>Br_Release_WISKI7_7_2_1</locationName>
<useHeadIfNotFound>false</useHeadIfNotFound>
</location>
</hudson.scm.CvsRepositoryItem>
</repositoryItems>
<compressionLevel>-1</compressionLevel>
<excludedRegions>
<hudson.scm.ExcludedRegion>
<pattern></pattern>
</hudson.scm.ExcludedRegion>
</excludedRegions>
<password>xxx</password>
<passwordRequired>true</passwordRequired>
</hudson.scm.CvsRepository>
</repositories>
<canUseUpdate>true</canUseUpdate>
<skipChangeLog>false</skipChangeLog>
<pruneEmptyDirectories>true</pruneEmptyDirectories>
<disableCvsQuiet>false</disableCvsQuiet>
<cleanOnFailedUpdate>true</cleanOnFailedUpdate>
</scm>
...
<triggers class="vector">
<hudson.triggers.SCMTrigger>
<spec>0 * * * *</spec>
</hudson.triggers.SCMTrigger>
</triggers>
...

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org
In reply to this post by JIRA noreply@jenkins-ci.org

It seems the problem is the switch to 'rlog' for polling: since we move the branch tag to merge down changes from HEAD to branch, it will never see any new revision. However, this worked with 'update' before.

I don't know about the reasons to switch to 'rlog', but would it be possible to add a configuration parameter to choose how the polling is done? That would probably fix our issue.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org
In reply to this post by JIRA noreply@jenkins-ci.org

Rlog polling was introduced to allow polling without requiring a workspace and to ignore addition/modification/deletion of files in the workspace from previous builds. I'm still considering whether we should make an attempt to support your use-case given the changes aren't actually being made on the branch - you're retrospectively deleting and recreating the branch which itself is strongly advised against doing across the internet. Re-introducing 'update polling' would probably not be the best way to proceed if we do work on fixing this issue given the complexity it would add to the codebase (as well as adding more checkboxes to the UI which we generally do not want to do) and the same outcome could probably be reached by applying less filters to the rlog command and then parsing the output differently.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org
In reply to this post by JIRA noreply@jenkins-ci.org

Somehow, I agree. However, it would be nice to get this "functionality" back if there is any easy/clean possibility to do so. CVS build triggers could be replaced by time based triggers for branches, but even then, we still miss a complete ChangeLog.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org
In reply to this post by JIRA noreply@jenkins-ci.org

I've pushed changes to https://github.com/mc1arke/cvs-plugin/tree/JENKINS-15012 but the following needs to be considered before the change is merged into the mainstream version:

Rlog output increases from 300Kb to 6Mb for a repository with around 5000 files, approximately 200 of which changed during for the 24 hour period filtered for the polling.

The change in CPU and memory load on the CVS Server is unknown (and could vary for different versions and providers)

The change in Jenkins load during polling depends on the number of changes during the last build and current poll. Excluding the memory/CPU required during the period rlog is running, parsing the rlog output with no changes takes no time under the current method whereas the new method will always take approximately the same time regardless of the number of changes (around 3 seconds for parsing the output referenced above)

No additional permanent storage is required as a result of this change, although additional temporary storage is used whilst rlog is run.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org
In reply to this post by JIRA noreply@jenkins-ci.org

Should also have mentioned, the above change doesn't include modifications to changelog generation, only to polling.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org
In reply to this post by JIRA noreply@jenkins-ci.org
 
Michael Clarke edited a comment on Bug JENKINS-15012

Should also have mentioned, the above change doesn't include modifications to changelog generation, only to polling. The change should be picked up in the changelog if it was made on head and the branch was recreated between last build and current poll, but would not be picked up if the change was made before last build then the branch rebuilt before current poll. As this is not a method I would normally use, the above situations are speculation based on my knowledge of how CVS tracks file versions and change notes.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org
In reply to this post by JIRA noreply@jenkins-ci.org
 
Michael Clarke edited a comment on Bug JENKINS-15012

I should also have mentioned, the above change doesn't include modifications to changelog generation, only to polling. The change will not be picked up on the change log since it was not actually made in the branch (the branch root is marked in CVS as the version of the file post change, so there is no way of knowing that the change is intended to be listed in the change-logs.) The build would therefore be triggered by polling, but would show no changes during the build since no change entry is generated during the branch generation.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[JIRA] (JENKINS-15012) CVS Plugin doesn't detect labeled changes on a branch

JIRA noreply@jenkins-ci.org
In reply to this post by JIRA noreply@jenkins-ci.org
Michael Clarke closed Bug JENKINS-15012 as Won't Fix

Having thought about this - I'm not happy merging my changes into mainstream given the extra processing and memory this requires, especially for a large CVS repository. I'm therefore closing this issue as 'Not Fixed' although will keep this issue in mind for any future polling changes that may be made

Change By: Michael Clarke (25/Sep/12 1:35 PM)
Status: Open Closed
Assignee: Michael Clarke
Resolution: Won't Fix
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Loading...