[ 
https://issues.apache.org/jira/browse/WAGON-518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16450144#comment-16450144
 ] 

Chris Lott commented on WAGON-518:
----------------------------------

That test is still pending, thanks for asking. My initial test was in a little 
library that uses Wagon.  The real test must wait for another component that 
uses the little library.

> AbstractHttpClientWagon#putFromStream() reads entire content to memory
> ----------------------------------------------------------------------
>
>                 Key: WAGON-518
>                 URL: https://issues.apache.org/jira/browse/WAGON-518
>             Project: Maven Wagon
>          Issue Type: Bug
>          Components: wagon-http
>    Affects Versions: 2.12
>            Reporter: Chris Lott
>            Assignee: Michael Osipov
>            Priority: Major
>             Fix For: 3.1.0
>
>
> Method putFromSteam in class AbstractHttpClientWagon seems to violate the 
> implied contract of working with streams.  It uses much memory because it 
> first consumes the input stream argument, then transfers that content.  The 
> code that consumes the stream is in the private class 
> RequestEntityImplementation ctor:
> {code:java}
>      byte[] bytes = IOUtil.toByteArray( stream );{code}
> Please revise it, if possible, to behave more like the superclass 
> StreamWagon's putFromStream method, which does the transfer straight from the 
> input stream.
> We are attempting to PUT some 150MB artifacts in a java microservice that 
> runs with rather sharp memory limits.  As a local workaround we increased the 
> JVM's -Xmx argument but that way lies madness.
> Thanks in advance for any suggestions or workarounds. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to