[ 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)