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

Shelved projects footprint increased by factor 10

    Details

    • Similar Issues:

      Description

      Version 2.1 changed the archive format to .tar.

      Tar files are not compressed, so the size of a .tar archived project is about 10 times an archive produced with earlier version of the plugin.

      To reproduce:

      Install shelve-project-plugin version < 2.1 and shelve a project.

      Take note  of the .zip file size

      Install version 2.1, unshelve the project, then shelve it again. 

      Compare the size of the .tar file to the size of the previous .zip file.

       

      Suggest to compress the .tar file into a .tar.gz instead.

       

        Attachments

          Issue Links

            Activity

            Hide
            pierrebtz Pierre Beitz added a comment -

            Jens Brejner I confirm the compression was not something that was taken into consideration. This is an interesting feature though, I'll look into adding back some compression using a tar.gz and document this as a real feature to avoid a regression in the future.

            Show
            pierrebtz Pierre Beitz added a comment - Jens Brejner I confirm the compression was not something that was taken into consideration. This is an interesting feature though, I'll look into adding back some compression using a tar.gz and document this as a real feature to avoid a regression in the future.
            Hide
            jbrejner1 Jens Brejner added a comment - - edited

            Hi Pierre.

            Thank you very much. I guess it can be implemented as simple as continue to tar and untar the project folder, 

            Then on shelving, just zip the tar file, and on unshelve, use unzip, and check if the unzipped content is a .tar file, if yes, call your untar method.

            That way you will not have to implement support for one more shelve format, and the plugin will continue be backwards compatible. Just remember to delete the .tar files after use  

            Show
            jbrejner1 Jens Brejner added a comment - - edited Hi Pierre. Thank you very much. I guess it can be implemented as simple as continue to tar and untar the project folder,  Then on shelving, just zip the tar file, and on unshelve, use unzip, and check if the unzipped content is a .tar file, if yes, call your untar method. That way you will not have to implement support for one more shelve format, and the plugin will continue be backwards compatible. Just remember to delete the .tar files after use  
            Hide
            pierrebtz Pierre Beitz added a comment -

            Jens Brejner methods are already available in the core, this is not what's bothering me. The thing is I encountered some bugs in the past while using them, so I'll need to make sure they work as expected cross platform.

            Show
            pierrebtz Pierre Beitz added a comment - Jens Brejner methods are already available in the core, this is not what's bothering me. The thing is I encountered some bugs in the past while using them, so I'll need to make sure they work as expected cross platform.
            Hide
            jbrejner1 Jens Brejner added a comment -

            Pierre Beitz if that is the sometimes corrupted symlinks to lastStable that were problematic, you could simply delete them before archiving... Jenkins should parse the builds on startup and recreate, if the project is unshelved. You probably also call the method to recreate symlinks on unshelve.

            But do what you find best, you are the developer, I'm just a happy user.

            Show
            jbrejner1 Jens Brejner added a comment - Pierre Beitz if that is the sometimes corrupted symlinks to lastStable that were problematic, you could simply delete them before archiving... Jenkins should parse the builds on startup and recreate, if the project is unshelved. You probably also call the method to recreate symlinks on unshelve. But do what you find best, you are the developer, I'm just a happy user.
            Hide
            pierrebtz Pierre Beitz added a comment -

            Jens Brejner: I made a fix, PR is available as well as the hpi (https://ci.jenkins.io/job/Plugins/job/shelve-project-plugin/job/PR-16/1/artifact/target/shelve-project-plugin.hpi) if you are interested. Before finally merging this, I'll need to make some more tests (especially on Windows...).

            Show
            pierrebtz Pierre Beitz added a comment - Jens Brejner : I made a fix, PR is available as well as the hpi ( https://ci.jenkins.io/job/Plugins/job/shelve-project-plugin/job/PR-16/1/artifact/target/shelve-project-plugin.hpi ) if you are interested. Before finally merging this, I'll need to make some more tests (especially on Windows...).

              People

              • Assignee:
                pierrebtz Pierre Beitz
                Reporter:
                jbrejner1 Jens Brejner
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: