Details

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

      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

        Issue Links

          Activity

          Hide
          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
          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
          Karel Piwko
          added a comment -

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

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

          Done, nice catch.

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

            People

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

              Dates

              • Created:
                Updated:
                Resolved: