Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 1.1.1
    • Component/s: None
    • Labels:
      None

      Description

      Based on talk with Andrew Rubinger:
      20:06:17 - ALR: I'd like to rework the ShrinkWrap export mechanism
      20:06:28 - ALR: Currently it's a multi-threaded design
      20:07:04 - ALR: This is so that we don't have to hold the entire contents in memory to return the InputStream
      20:07:15 - ALR: It works by using piped streams
      20:07:33 - ALR: The JDK ZipOutputStream to write out to a pipe, then an InputStream which reads into it.
      20:07:38 - ALR: This gives a "pull" model
      20:07:55 - ALR: As the user reads in from the instream, this permits the outstream to fill the buffer
      20:08:00 - ALR: Only the buffer is held in-memory
      20:08:04 - ALR: What I want to do:
      20:08:24 - ALR: Make a ZipInputStream which can directly read an archive
      20:08:32 - ALR: So we bypass the piping and the need for Threads
      20:08:52 - ALR: (JDK ZipInputStream only reads in current ZIP formats)
      20:09:12 - ALR: THIS new ZipInputStream we would need to encode as ZIP as "read" is called
      20:09:18 - ALR: Keeping the pull model intact

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            kpiwko Karel Piwko added a comment -

            That would be really helpful. There are definitely race conditions which often lead to a deadlock. With both Zip and Tar implementations.

            Show
            kpiwko Karel Piwko added a comment - That would be really helpful. There are definitely race conditions which often lead to a deadlock. With both Zip and Tar implementations.
            Hide
            kpiwko Karel Piwko added a comment -

            Is that really a SHRINKRES issue? Shouldn't it rather be a SHRINKWRAP issue?

            Show
            kpiwko Karel Piwko added a comment - Is that really a SHRINKRES issue? Shouldn't it rather be a SHRINKWRAP issue?
            Hide
            alrubinger Andrew Rubinger added a comment -

            Done, nice catch.

            Show
            alrubinger Andrew Rubinger added a comment - Done, nice catch.
            Show
            alrubinger Andrew Rubinger added a comment - Upstream: https://github.com/shrinkwrap/shrinkwrap/commit/b994c513ddf82788bddc2c60079d8501405660b4 https://github.com/shrinkwrap/shrinkwrap/commit/c38369d614dcb08a87e8a3f1c844666f951e40de

              People

              • Assignee:
                mmatloka Michal Matloka
                Reporter:
                mmatloka Michal Matloka
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Development