Change service working_directory
to not slurp file into memory
#1215
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #1128
Method
#copy_stream_to_working_directory
previously used ruby'scopy_stream
, which reads the whole source stream into memory.New
#copy_stream_to_file
usesIO#readpartial
to ferry it around in4k chunks.
IO#readpartial
is preferred to#read
because it doesn't assume the streamis complete when first referenced. 4k is a common heap page size and
should be fairly efficient.
@samvera/hyrax-code-reviewers