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

Copying an artifact should (optionally) fingerprint all artifacts

    • Icon: New Feature New Feature
    • Resolution: Fixed
    • Icon: Minor Minor
    • copyartifact-plugin
    • None

        [JENKINS-12134] Copying an artifact should (optionally) fingerprint all artifacts

        Jørgen Tjernø created issue -

        Code changed in jenkins
        User: Jørgen P. Tjernø
        Path:
        src/main/java/hudson/plugins/copyartifact/CopyArtifact.java
        http://jenkins-ci.org/commit/copyartifact-plugin/81c6bec56889ccfee9ee626397dbcb8a882457d6
        Log:
        JENKINS-12134 Automatically fingerprint files.

        SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jørgen P. Tjernø Path: src/main/java/hudson/plugins/copyartifact/CopyArtifact.java http://jenkins-ci.org/commit/copyartifact-plugin/81c6bec56889ccfee9ee626397dbcb8a882457d6 Log: JENKINS-12134 Automatically fingerprint files.

        dogfood added a comment -

        Integrated in plugins_copyartifact #73
        JENKINS-12134 Automatically fingerprint files.

        jtjerno : 81c6bec56889ccfee9ee626397dbcb8a882457d6
        Files :

        • src/main/java/hudson/plugins/copyartifact/CopyArtifact.java

        dogfood added a comment - Integrated in plugins_copyartifact #73 JENKINS-12134 Automatically fingerprint files. jtjerno : 81c6bec56889ccfee9ee626397dbcb8a882457d6 Files : src/main/java/hudson/plugins/copyartifact/CopyArtifact.java
        Jørgen Tjernø made changes -
        Status Original: Open [ 1 ] New: In Progress [ 3 ]
        Jørgen Tjernø made changes -
        Resolution New: Fixed [ 1 ]
        Status Original: In Progress [ 3 ] New: Resolved [ 5 ]

        Ringo De Smet added a comment - - edited

        The current implementation of this ticket leads to a serious performance degradation for me. While I have all freestyle projects with fingerprinting disabled, the plugin now starts to fingerprint files.

        Setup: I have one specific project with 17000+ archived artifacts. These artifacts are used as a prerequisite for a number of other projects. Fingerprinting all these files adds about 15 minutes to the build time of each of these projects which is unacceptible.

        Please make the fingerprinting optional, or follow the fingerprinting setting of the source and/or target projects.

        Ringo De Smet added a comment - - edited The current implementation of this ticket leads to a serious performance degradation for me. While I have all freestyle projects with fingerprinting disabled , the plugin now starts to fingerprint files. Setup: I have one specific project with 17000+ archived artifacts. These artifacts are used as a prerequisite for a number of other projects. Fingerprinting all these files adds about 15 minutes to the build time of each of these projects which is unacceptible. Please make the fingerprinting optional, or follow the fingerprinting setting of the source and/or target projects.
        Ringo De Smet made changes -
        Resolution Original: Fixed [ 1 ]
        Status Original: Resolved [ 5 ] New: Reopened [ 4 ]

        Here's a suggested fix for this: https://github.com/jenkinsci/copyartifact-plugin/pull/8
        It requires you to enable "Fingerprint all artifacts" on the source for the destination to fingerprint the files.

        In addition, Kohsuke mentioned that he could look into reworking the digesting so that it's done during transfer. This would most likely add a negligible overhead to the copy process, and make the digest process basically free.

        How long does your "Copy Artifact" process take if the fingerprinting takes 15 minutes?

        Jørgen Tjernø added a comment - Here's a suggested fix for this: https://github.com/jenkinsci/copyartifact-plugin/pull/8 It requires you to enable "Fingerprint all artifacts" on the source for the destination to fingerprint the files. In addition, Kohsuke mentioned that he could look into reworking the digesting so that it's done during transfer. This would most likely add a negligible overhead to the copy process, and make the digest process basically free. How long does your "Copy Artifact" process take if the fingerprinting takes 15 minutes?

        dogfood added a comment -

        Integrated in plugins_copyartifact #78
        [FIXED JENKINS-12134] hide the overhead of fingerprinting into I/O.

        Kohsuke Kawaguchi : 3cf80e567c8171428be377ddb2ec6855a7570dc3
        Files :

        • pom.xml
        • src/main/java/hudson/plugins/copyartifact/FilePathCopyMethod.java
        • src/main/java/hudson/plugins/copyartifact/CopyArtifact.java
        • src/main/java/hudson/plugins/copyartifact/FingerprintingCopyMethod.java
        • src/main/java/hudson/plugins/copyartifact/Copier.java
        • src/main/java/hudson/plugins/copyartifact/CopyMethod.java

        dogfood added a comment - Integrated in plugins_copyartifact #78 [FIXED JENKINS-12134] hide the overhead of fingerprinting into I/O. Kohsuke Kawaguchi : 3cf80e567c8171428be377ddb2ec6855a7570dc3 Files : pom.xml src/main/java/hudson/plugins/copyartifact/FilePathCopyMethod.java src/main/java/hudson/plugins/copyartifact/CopyArtifact.java src/main/java/hudson/plugins/copyartifact/FingerprintingCopyMethod.java src/main/java/hudson/plugins/copyartifact/Copier.java src/main/java/hudson/plugins/copyartifact/CopyMethod.java

        Ringo, would you mind testing the performance of 0.21? It has something that should hopefully be a great performance improvement from 0.20, but still fingerprints. Let us know if you're still seeing unacceptable performance levels.

        Jørgen Tjernø added a comment - Ringo, would you mind testing the performance of 0.21? It has something that should hopefully be a great performance improvement from 0.20, but still fingerprints. Let us know if you're still seeing unacceptable performance levels.

          mindless Alan Harder
          jorgenpt Jørgen Tjernø
          Votes:
          7 Vote for this issue
          Watchers:
          12 Start watching this issue

            Created:
            Updated:
            Resolved: